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 相关文章推荐
老鱼 浅谈javascript面向对象编程
Mar 04 Javascript
JS动态增加删除UL节点LI及相关内容示例
May 21 Javascript
jQuery+AJAX实现网页无刷新上传
Feb 22 Javascript
EasyUI实现第二层弹出框的方法
Mar 01 Javascript
javascript的BOM汇总
Jul 16 Javascript
JS实现黑色大气的二级导航菜单效果
Sep 18 Javascript
由浅入深讲解Javascript继承机制与simple-inheritance源码分析
Dec 13 Javascript
jquery实现跳到底部,回到顶部效果的简单实例(类似锚)
Jul 10 Javascript
js 自带的sort() 方法全面了解
Aug 16 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
Feb 09 Javascript
JS实现常见的查找、排序、去重算法示例
May 21 Javascript
微信小程序canvas实现签名功能
Jan 19 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
自定义session存储机制避免会话保持问题
2014/10/08 PHP
CodeIgniter连贯操作的底层原理分析
2016/05/17 PHP
基于jquery的表头固定的若干方法
2011/01/27 Javascript
浅谈重写window对象的方法
2014/12/29 Javascript
JS实用的动画弹出层效果实例
2015/05/05 Javascript
jquery实现隐藏在左侧的弹性弹出菜单效果
2015/09/18 Javascript
浅谈使用MVC模式进行JavaScript程序开发
2015/11/10 Javascript
jQuery计算文本框字数及限制文本框字数的方法
2016/03/01 Javascript
Web Uploader文件上传插件使用详解
2016/05/10 Javascript
JavaScript中的Array 对象(数组对象)
2016/06/02 Javascript
jQuery插件passwordStrength密码强度指标详解
2016/06/24 Javascript
jquery轮播的实现方式 附完整实例
2016/07/28 Javascript
jquery自动补齐功能插件flexselect用法示例
2016/08/06 Javascript
javascript实现去除HTML标签的方法
2016/12/26 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
发布一款npm包帮助理解npm的使用
2019/01/03 Javascript
Vue中对iframe实现keep alive无刷新的方法
2019/07/23 Javascript
使用 webpack 插件自动生成 vue 路由文件的方法
2019/08/20 Javascript
Vue Components 数字键盘的实现
2019/09/18 Javascript
js、jquery实现列表模糊搜索功能过程解析
2020/03/27 jQuery
如何使用vue slot创建一个模态框的实例代码
2020/05/24 Javascript
Python基于PycURL自动处理cookie的方法
2015/07/25 Python
Python yield 使用方法浅析
2017/05/20 Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
2019/07/15 Python
深入理解Python 多线程
2020/06/16 Python
python中pathlib模块的基本用法与总结
2020/08/17 Python
HEMA英国:荷兰原创设计
2018/08/28 全球购物
德国的大型美妆个护电商:Flaconi
2020/06/26 全球购物
大课间活动制度
2014/01/18 职场文书
高中语文课后反思
2014/04/27 职场文书
中层干部培训方案
2014/06/16 职场文书
教室布置标语
2014/06/26 职场文书
公司员工活动策划方案
2014/08/20 职场文书
2015年检验科工作总结
2015/04/27 职场文书
运动会闭幕式主持词
2015/07/01 职场文书
CentOS7安装MySQL8的超级详细教程(无坑!)
2022/06/10 Servers