說一種沒人發(fā)的,利用混入mixins來實(shí)現(xiàn)全局變量和函數(shù)。mixins里面的方法、變量、篩選器會(huì)和組件里面的方法、變量、篩選器合并。這種方法優(yōu)點(diǎn)是ide會(huì)有方法、變量、篩選器提示。
一、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() //進(jìn)行全局混入Vue.mixin(mixin)new Vue({ store, router, render: h => h(App),}).$mount('#app')一、mixin.js文件,我是把方法、變量、篩選器這三個(gè)分別寫到三個(gè)js文件里面了,方便后期維護(hù)。也可以直接寫到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里面的方法用對(duì)象展開符混入到mixin上,以方便調(diào)用,直接this.$xxx方法名就可以了 ...globalMethods, }, filters: { // //將filter里面的方法添加了vue的篩選器上 // Object.keys(filters).forEach(key => { // Vue.filter(key, filters[key]) // }) ...filters, },}filters.js文件
export default { // 時(shí)間轉(zhuǎn)換器 date(v) { ... }, // 處理身份證信息,中間隱藏掉 processIdNumber(v) { ... },}global-methods.js文件
import { Message, MessageBox } from 'element-ui'export default { $success(msg) { ... }, $warning(msg) { ... }, $error(msg) { ... }, $checkPlatform() { ... }, // 倒計(jì)時(shí)時(shí)間格式化 $countdownFormatTime(timeStamp) { ... },}constant_var.js文件
export default { REDIRECT: 'redirect', // 請(qǐng)求方法 POST: 'post', GET: 'get', PATCH: 'patch', DELETE: 'delete', PUT: 'put', // 靜態(tài)常量 PICKEROPTIONS: { ... }, PAGENUMBER: 1, PAGESIZE: 10, DELAYTIME: 250, SUCCESS: '000000',}總結(jié)
以上所述是小編給大家介紹的vue使用混入定義全局變量、函數(shù)、篩選器的實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)錯(cuò)新站長(zhǎng)站網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
新聞熱點(diǎn)
疑難解答
圖片精選