关于javascript:vue中-利用混入定义全局变量函数筛选器

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理