说一种没人发的,利用混入mixins来实现全局变量和函数。mixins外面的办法、变量、筛选器会和组件外面的办法、变量、筛选器合并。这种办法长处是ide会有办法、变量、筛选器提醒。
一、main.js文件
import Vue from 'vue' import App from './App' import router from './router' import store from './store'import mixin from './utils/mixin' Vue.prototype.$bus = new Vue() //进行全局混入Vue.mixin(mixin)new Vue({ store, router, render: h => h(App),}).$mount('#app')
一、mixin.js文件,我是把办法、变量、筛选器这三个别离写到三个js文件外面了,不便前期保护。也能够间接写到mixins文件外面
import filters from './filters'import globalMethods from './global-methods'import Config from '../config'import CONSTANT from './const_var'// 全局混入export default { data() { return { CONFIG: Config, CONSTANT, } }, methods: { // //将globalMethods文件外面的办法挂载到vue上,以不便调用,间接this.$xxx办法名就能够了 // Object.keys(globalMethods).forEach(key => { // Vue.prototype[key] = tools[key] // }) // 将globalMethods外面的办法用对象开展符混入到mixin上,以不便调用,间接this.$xxx办法名就能够了 ...globalMethods, }, filters: { // //将filter外面的办法增加了vue的筛选器上 // Object.keys(filters).forEach(key => { // Vue.filter(key, filters[key]) // }) ...filters, },}
filters.js文件
export default { // 工夫转换器 date(v) { ... }, // 解决身份证信息,两头暗藏掉 processIdNumber(v) { ... },}
global-methods.js文件
import { Message, MessageBox } from 'element-ui'export default { $success(msg) { ... }, $warning(msg) { ... }, $error(msg) { ... }, $checkPlatform() { ... }, // 倒计时工夫格式化 $countdownFormatTime(timeStamp) { ... },}
constant_var.js文件
export default { REDIRECT: 'redirect', // 申请办法 POST: 'post', GET: 'get', PATCH: 'patch', DELETE: 'delete', PUT: 'put', // 动态常量 PICKEROPTIONS: { ... }, PAGENUMBER: 1, PAGESIZE: 10, DELAYTIME: 250, SUCCESS: '000000',}