说一种没人发的,利用混入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',
}
发表回复