vue使用混入定义全局变量、函数、筛选器的实例代码

所属分类: 网络编程 / JavaScript 阅读数: 542
收藏 0 赞 0 分享

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

更多精彩内容其他人还在看

jQuery-1.9.1源码分析系列(十)事件系统之事件包装

这篇文章主要介绍了jQuery-1.9.1源码分析系列(十)事件系统之事件包装的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

javascript实现Email邮件显示与删除功能

这篇文章主要介绍了javascript实现Email邮件显示与删除功能,需要的朋友可以参考下
收藏 0 赞 0 分享

JavaScript实现自动生成网页元素功能(按钮、文本等)

这篇文章主要介绍了JavaScript实现自动生成网页元素功能,文章列出了三种可以进行增删改克隆按钮、文本等元素的方法,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

js实现索引图片切换效果

这篇文章主要介绍了js实现索引图片切换效果的代码,特别炫酷的效果,推荐给大家,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

javascript实现动态统计图开发实例

这篇文章主要介绍了javascript实现动态统计图开发实例,需要的朋友可以参考下
收藏 0 赞 0 分享

超详细的javascript数组方法汇总

这篇文章主要对javascript的数组方法进行了详细的汇总,包括了最常用的的数组方法,还有扩展方法,很全面,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

jQuery实现分隔条左右拖动功能

这篇文章主要介绍了jQuery实现分隔条左右拖动功能,需要的朋友可以参考下
收藏 0 赞 0 分享

分享经典的JavaScript开发技巧

这篇文章向大家分享了40多个经典的JavaScript开发技巧,相信读完这篇文章对大家开发javascript有很大的帮助作用,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

jquery实现select选择框内容左右移动代码分享

这篇文章主要介绍了jquery实现select选择框内容左右移动代码,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

解决jquery插件:TypeError:$.browser is undefined报错的方法

这篇文章为大家分享了一个解决jquery插件:TypeError:$.browser is undefined报错的方法,解决报错问题的方法也很简单,需要解决此类问题的朋友不要错过这篇文章。
收藏 0 赞 0 分享
查看更多