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


Posted in Javascript onJuly 29, 2019

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

Javascript 相关文章推荐
基于Jquery的淡入淡出的特效基础练习
Dec 13 Javascript
仿新浪微博返回顶部的jquery实现代码
Oct 01 Javascript
让浏览器DOM元素最后加载的js方法
Jul 29 Javascript
js实现div弹出层的方法
Nov 20 Javascript
JS+CSS实现Li列表隔行换色效果的方法
Feb 16 Javascript
js删除局部变量的实现方法
Jun 25 Javascript
JavaScript 栈的详解及实例代码
Jan 22 Javascript
Vue 动态添加路由及生成菜单的方法示例
Jun 20 Javascript
webpack 动态批量加载文件的实现方法
Mar 19 Javascript
微信小程序文章列表功能完整实例
Jun 03 Javascript
javascript实现前端成语点击验证优化
Jun 24 Javascript
Vue+element-ui添加自定义右键菜单的方法示例
Dec 08 Vue.js
vue前后分离调起微信支付
Jul 29 #Javascript
详解vue-property-decorator使用手册
Jul 29 #Javascript
微信小程序new Date()方法失效问题解决方法
Jul 29 #Javascript
微信小程序 WXML节点信息查询详解
Jul 29 #Javascript
微信小程序登录对接Django后端实现JWT方式验证登录详解
Jul 29 #Javascript
JavaScript HTML DOM元素 节点操作汇总
Jul 29 #Javascript
vue.js 2.0实现简单分页效果
Jul 29 #Javascript
You might like
PHP制作图型计数器的例子
2006/10/09 PHP
JavaScript创建命名空间的5种写法
2014/06/24 PHP
php实现用于计算执行时间的类实例
2015/04/18 PHP
PHP编程实现微信企业向用户付款的方法示例
2017/07/26 PHP
JavaScript随机排序(随即出牌)
2010/09/17 Javascript
js实现简单的购物车有图有代码
2014/05/26 Javascript
基于jQuery实现的向下滑动二级菜单效果代码
2015/08/31 Javascript
深入学习jQuery Validate表单验证
2016/01/18 Javascript
bootstrap table复杂操作代码
2016/11/01 Javascript
Angular 4.x 动态创建表单实例
2017/04/25 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
angularjs实现猜数字大小功能
2020/05/20 Javascript
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
2017/09/29 NodeJs
基于vue.js中关于下拉框的值默认及绑定问题
2018/08/22 Javascript
浅析Vue.js中v-bind v-model的使用和区别
2018/12/04 Javascript
layer.open组件获取弹出层页面变量、函数的实例
2019/09/25 Javascript
使用JavaScript获取Django模板指定键值数据
2020/05/27 Javascript
vue $mount 和 el的区别说明
2020/09/11 Javascript
JavaScript实现多层颜色选项卡嵌套
2020/09/21 Javascript
Python编程修改MP3文件名称的方法
2017/04/19 Python
pandas数值计算与排序方法
2018/04/12 Python
python3.6使用pymysql连接Mysql数据库
2018/05/25 Python
CSS3实现千变万化的文字阴影text-shadow效果设计
2016/04/26 HTML / CSS
德国最大的服装、鞋子和配件在线商店之一:Outfits24
2019/07/23 全球购物
俄罗斯宠物用品网上商店:ZooMag
2019/12/12 全球购物
美国新娘礼品店:The Paisley Box
2020/09/08 全球购物
越南母婴用品购物网站:Kids Plaza
2020/04/09 全球购物
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2015/09/07 面试题
初中生三年学习生活的自我评价
2013/11/03 职场文书
单位租房协议书范本
2014/12/04 职场文书
2015年乡镇工会工作总结
2015/05/19 职场文书
雷锋的故事观后感
2015/06/10 职场文书
独生子女证明范本
2015/06/19 职场文书
SpringMVC 整合SSM框架详解
2021/08/30 Java/Android
为自由献出你的心脏!「进击的巨人展 FINAL」2022年6月在台开展
2022/04/13 日漫
MySQL中EXPLAIN语句及用法
2022/05/20 MySQL