说一种没人发的,利用混入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', }
总结
以上所述是小编给大家介绍的vue使用混入定义全局变量、函数、筛选器的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
您可能感兴趣的文章: