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 获取和设置Select选项的代码
Feb 07 Javascript
Jquery实现点击切换图片并隐藏显示内容(2种方法实现)
Apr 11 Javascript
在每个匹配元素的外部插入新元素的方法
Dec 20 Javascript
js 通用订单代码
Dec 23 Javascript
jsPDF生成pdf后在网页展示实例
Jan 16 Javascript
七个很有意思的PHP函数
May 12 Javascript
Node.js 的异步 IO 性能探讨
Oct 08 Javascript
jQuery判断多个input file 都不能为空的例子
Jun 23 Javascript
JS组件Bootstrap实现下拉菜单效果代码
Apr 26 Javascript
使用react context 实现vue插槽slot功能
Jul 18 Javascript
原生js实现密码强度验证功能
Mar 18 Javascript
请求时token过期自动刷新token操作
Sep 11 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中慎用双等于(==)的详解
2013/06/06 PHP
php获取网站百度快照日期的方法
2015/07/29 PHP
PHP上传文件及图片到七牛的方法
2018/07/25 PHP
PHP xpath()函数讲解
2019/02/11 PHP
event.srcElement+表格应用
2006/08/29 Javascript
Microsfot .NET Framework4.0框架 安装失败的解决方法
2013/08/14 Javascript
AngularJS学习笔记之ng-options指令
2015/06/16 Javascript
PHP+MySQL+jQuery随意拖动层并即时保存拖动位置实例讲解
2015/10/09 Javascript
Bootstrap每天必学之媒体对象
2015/11/30 Javascript
解析AngularJS中get请求URL出现的跨域问题
2016/12/01 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
2017/02/09 Javascript
原生JavaScript实现Tooltip浮动提示框特效
2017/03/07 Javascript
JS奇技之利用scroll来监听resize详解
2017/06/15 Javascript
前端图片懒加载(lazyload)的实现方法(提高用户体验)
2017/08/21 Javascript
详解vue-cli脚手架build目录中的dev-server.js配置文件
2017/11/24 Javascript
35个最好用的Vue开源库(史上最全)
2019/01/03 Javascript
vue中移动端调取本地的复制的文本方式
2020/07/18 Javascript
解决Antd 里面的select 选择框联动触发的问题
2020/10/24 Javascript
jQuery实现可以扩展的日历
2020/12/01 jQuery
[35:29]Secret vs VG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
Pyhthon中使用compileall模块编译源文件为pyc文件
2015/04/28 Python
python: line=f.readlines()消除line中\n的方法
2018/03/19 Python
python接口自动化测试之接口数据依赖的实现方法
2019/04/26 Python
Python3.9又更新了:dict内置新功能
2020/02/28 Python
django-orm F对象的使用 按照两个字段的和,乘积排序实例
2020/05/18 Python
CSS3田字格列表的样式编写方法
2018/11/22 HTML / CSS
html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
2013/01/09 HTML / CSS
HTML5 本地存储之如果没有数据库究竟会怎样
2013/04/25 HTML / CSS
html5录音功能实战示例
2019/03/25 HTML / CSS
美国在线眼镜商城:Eyeglasses.com
2017/06/26 全球购物
LivingSocial爱尔兰:爱尔兰本地优惠
2018/08/10 全球购物
Elizabeth Gage官网:英国最好的珠宝设计之一
2020/09/26 全球购物
车间副主任岗位职责
2013/12/24 职场文书
大学军训感言400字
2014/03/11 职场文书
三方合作意向书范本
2015/05/09 职场文书
孝女彩金观后感
2015/06/10 职场文书