jh-front-end-example-2/src/main.js

64 lines
1.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* @Author: Billy
* @Date: 2020-09-10 09:12:00
* @LastEditors: Billy
* @LastEditTime: 2022-03-07 15:03:20
* @Description: 请输入
*/
import Vue from 'vue';
import App from './App.vue';
import router from './router/_index.js';
import store from './store';
import ElementUI from 'element-ui';
import './scss/element-variables.scss';
import "./svgicon/index.js";
import Event from './util/Event';
// import AuthHelper from "./auth/AuthHelper.js";
import SafePush from './util/SafePush';
Vue.config.productionTip = false;
Vue.use(ElementUI, {
size: 'medium'
});
Vue.prototype.$safePush = SafePush;
// 注册一个全局自定义指令 `v-auth`,用于验证权限
// Vue.directive('auth', {
// bind: function (el, param) { },
// // 当被绑定的元素插入到 DOM 中时……
// inserted: function (el, param) {
// let pass = AuthHelper.checkAuth(param.value);
// if (!pass) {
// el.remove()
// }
// },
// update: function (el, param) { },
// componentUpdated: function (el, param) { },
// unbind: function (el, param) { }
// });
// 全局事件总线
// 参考https://zhuanlan.zhihu.com/p/72777951
// 不到必要时,不建议使用,否则容易增加全局代码复杂度
// let EventBus = new Vue();
// Object.defineProperties(Vue.prototype, {
// $bus: {
// get: function () {
// return EventBus;
// }
// }
// });
new Vue({
router,
store,
render: h => h(App),
created: function () {
// 如果用原生的resize事件将会损耗大量资源因为resize事件触发的次数非常多
// 因此把连续触发的resize事件转化为optimizedResize自定义事件节约资源并且组件也有足够时间重新渲染
// 在此监听resize事件即可不要在别处重复监听resize事件
// 参考https://stackoverflow.com/questions/28056716/check-if-an-element-has-event-listener-on-it-no-jquery
Event.throttle('resize', 'optimizedResize', 500)
}
}).$mount('#app')