您好,登錄后才能下訂單哦!
說一種沒人發(fā)的,利用混入mixins來實現(xiàn)全局變量和函數(shù)。mixins里面的方法、變量、篩選器會和組件里面的方法、變量、篩選器合并。這種方法優(yōu)點是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上,以方便調(diào)用,直接this.$xxx方法名就可以了 // Object.keys(globalMethods).forEach(key => { // Vue.prototype[key] = tools[key] // }) // 將globalMethods里面的方法用對象展開符混入到mixin上,以方便調(diào)用,直接this.$xxx方法名就可以了 ...globalMethods, }, filters: { // //將filter里面的方法添加了vue的篩選器上 // Object.keys(filters).forEach(key => { // Vue.filter(key, filters[key]) // }) ...filters, }, }
filters.js文件
export default { // 時間轉(zhuǎn)換器 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', // 靜態(tài)常量 PICKEROPTIONS: { ... }, PAGENUMBER: 1, PAGESIZE: 10, DELAYTIME: 250, SUCCESS: '000000', }
總結(jié)
以上所述是小編給大家介紹的vue使用混入定義全局變量、函數(shù)、篩選器的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。