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 相关文章推荐
犀利的js 函数集合
Jun 11 Javascript
js中的cookie的读写操作示例详解
Apr 17 Javascript
可编辑下拉框的2种实现方式
Jun 13 Javascript
JS简单操作select和dropdownlist实例
Nov 26 Javascript
15款jQuery分布引导插件分享
Feb 04 Javascript
javascript Array 数组常用方法
Apr 05 Javascript
BootStrap tab选项卡使用小结
Aug 09 Javascript
微信小程序实战之轮播图(3)
Apr 17 Javascript
vue.js的安装方法
May 12 Javascript
使用Node.js实现RESTful API的示例
Aug 01 Javascript
记一次webapck4 配置文件无效的解决历程
Sep 19 Javascript
利用webpack理解CommonJS和ES Modules的差异区别
Jun 16 Javascript
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(6) 面向对象
2010/02/16 PHP
PHP异常处理浅析
2015/05/12 PHP
CI框架数据库查询之join用法分析
2016/05/18 PHP
JQuery 常用方法基础教程
2009/02/06 Javascript
js window.event对象详尽解析
2009/02/17 Javascript
js下写一个事件队列操作函数
2010/07/19 Javascript
IE6、IE7中setAttribute不支持class/for/rowspan/colspan等属性
2011/08/28 Javascript
jquery获取URL中参数解决中文乱码问题的两种方法
2013/12/18 Javascript
节点的插入之append()和appendTo()的用法介绍
2014/01/13 Javascript
使用Plupload实现直接上传附件至七牛云存储
2014/12/26 Javascript
JavaScript中的变量作用域介绍
2014/12/31 Javascript
深入浅析AngularJS中的module(模块)
2016/01/04 Javascript
基于RequireJS和JQuery的模块化编程日常问题解析
2016/04/14 Javascript
jquery弹出遮掩层效果【附实例代码】
2016/04/28 Javascript
Javascript实现图片加载从模糊到清晰显示的方法
2016/06/21 Javascript
jQuery实现点击行选中或取消CheckBox的方法
2016/08/01 Javascript
纯前端JavaScript实现Excel IO案例分享
2016/08/26 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
2016/08/31 Javascript
Node.js连接mongodb实例代码
2017/06/06 Javascript
React Native基础入门之调试React Native应用的一小步
2018/07/02 Javascript
Vue+Element UI+Lumen实现通用表格分页功能
2019/02/02 Javascript
javascript实现切割轮播效果
2019/11/28 Javascript
Python实现打印螺旋矩阵功能的方法
2017/11/21 Python
Python产生Gnuplot绘图数据的方法
2018/11/09 Python
Django实现列表页商品数据返回教程
2020/04/03 Python
Python unittest如何生成HTMLTestRunner模块
2020/09/08 Python
浅析python实现动态规划背包问题
2020/12/31 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
2021/01/28 Python
纯CSS3实现移动端展开和收起效果的示例代码
2020/04/26 HTML / CSS
Omio美国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/08 全球购物
Prototype是怎么扩展DOM的
2014/10/01 面试题
本科毕业生专业自荐书范文
2014/02/05 职场文书
公司租房协议书
2014/10/14 职场文书
2015年办公室主任工作总结
2015/04/09 职场文书
Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境
2021/03/29 PHP
深入理解CSS 中 transform matrix矩阵变换问题
2021/08/30 HTML / CSS