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.findElementById()使用介绍
Sep 21 Javascript
JS修改iframe页面背景颜色的方法
Apr 01 Javascript
js 求时间差的实现代码
Apr 26 Javascript
零基础轻松学JavaScript闭包
Dec 30 Javascript
利用JS做网页特效_大图轮播(实例讲解)
Aug 09 Javascript
vue做网页开场视频的实例代码
Oct 20 Javascript
vue地区选择组件教程详解
May 04 Javascript
Angular4 组件通讯方法大全(推荐)
Jul 12 Javascript
详解vue中axios的封装
Jul 18 Javascript
在Vue methods中调用filters里的过滤器实例
Aug 30 Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
Dec 25 jQuery
js+canvas实现简单扫雷小游戏
Jan 22 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编写PDF文档生成器
2006/10/09 PHP
wamp服务器访问php非常缓慢的解决过程
2015/07/01 PHP
jQuery在IE下使用未闭合的xml代码创建元素时的Bug介绍
2012/01/10 Javascript
jQuery中:image选择器用法实例
2015/01/03 Javascript
jquery插件uploadify实现带进度条的文件批量上传
2015/12/13 Javascript
js控件Kindeditor实现图片自动上传功能
2020/07/20 Javascript
JavaScript遍历Json串浏览器输出的结果不统一问题
2016/11/03 Javascript
Bootstrap CSS使用方法
2016/12/23 Javascript
原生和jQuery的ajax用法详解
2017/01/23 Javascript
Angular.js中定时器循环的3种方法总结
2017/04/27 Javascript
微信小程序 http请求的session管理
2017/06/07 Javascript
通过vue-router懒加载解决首次加载时资源过多导致的速度缓慢问题
2018/04/08 Javascript
微信小程序实现吸顶特效
2020/01/08 Javascript
javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
2020/05/14 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
nodejs使用Sequelize框架操作数据库的实现
2020/10/21 NodeJs
Vue2.0 ES6语法降级ES5的操作
2020/10/30 Javascript
python 二分查找和快速排序实例详解
2017/10/13 Python
Python中支持向量机SVM的使用方法详解
2017/12/26 Python
Python实现七彩蟒蛇绘制实例代码
2018/01/16 Python
python 自动轨迹绘制的实例代码
2019/07/05 Python
Tensorflow中的降维函数tf.reduce_*使用总结
2020/04/20 Python
美国床垫和床上用品公司:Nest Bedding
2017/06/12 全球购物
巴基斯坦电子产品购物网站:Home Shopping
2017/09/14 全球购物
英国领先的杂志订阅网站:Magazine.co.uk
2018/01/25 全球购物
服装电子商务创业计划书
2014/01/30 职场文书
优质服务演讲稿
2014/05/14 职场文书
党纪处分决定书
2015/06/24 职场文书
小学二年级班主任工作经验交流材料
2015/11/02 职场文书
php 解析非标准json、非规范json
2021/04/01 PHP
详解Python常用的魔法方法
2021/06/03 Python
go web 预防跨站脚本的实现方式
2021/06/11 Golang
MySQL系列之九 mysql查询缓存及索引
2021/07/02 MySQL
CSS布局之浮动(float)和定位(position)属性的区别
2021/09/25 HTML / CSS
MySQL中EXPLAIN语句及用法
2022/05/20 MySQL
DQL数据查询语句使用示例
2022/12/24 MySQL