据说没人贴过,使用mix-inmixins实现全局变量和函数。mixin中的方法、变量和过滤器将与组件中的方法、变量和过滤器合并。这种方式的好处是ide会有方法,有变量,有过滤提示。1.main.js文件importVuefrom'vue'importAppfrom'./App'importrouterfrom'./router'importstorefrom'./store'importmixinfrom'./utils/mixin'Vue.prototype.$bus=newVue()//进行全局混入Vue.mixin(mixin)newVue({store,router,render:h=>h(App),}).$mount('#app')1.mixin为.js文件,我把方法、变量、过滤器写成三个js文件,方便后期维护。也可以直接写到mixins文件中exportdefault{data(){return{CONFIG:Config,CONSTANT,}},methods:{////将globalMethods文件中的方法挂载到vue中,方便调用,直接用this.$xxx方法名//Object.keys(globalMethods).forEach(key=>{//Vue.prototype[key]=tools[key]//})//将globalMethods中的方法和objectexpander混合到mixin中方便调用,直接this.$xxx方法名就够了...globalMethods,},filters:{////将过滤器中的方法添加到vue过滤器中//Object.keys(filters).forEach(key=>{//Vue.filter(key,filters[key])//})...filters,},}filters.jsfileexportdefault{//时间转换器date(v){...},//处理身份证信息,隐藏processIdNumber(v){...},}global-methods.js文件从'element-ui'exp导入{Message,MessageBox}德福堡lt{$success(msg){...},$warning(msg){...},$error(msg){...},$checkPlatform(){...},//倒计时时间格式更改$countdownFormatTime(timeStamp){...},}constant_var.js文件导出默认值{REDIRECT:'redirect',//请求方法POST:'post',GET:'get',PATCH:'patch',DELETE:'delete',PUT:'put',//静态常量PICKEROPTIONS:{...},PAGENUMBER:1,PAGESIZE:10,DELAYTIME:250,SUCCESS:'000000',}
