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居然支持中文(unicode)编程!
Apr 12 Javascript
心扬JS分页函数代码
Sep 10 Javascript
javascript真的不难-回顾一下基础知识
Jan 15 Javascript
JS实现的用来对比两个用指定分隔符分割的字符串是否相同
Sep 19 Javascript
javascript arguments使用示例
Dec 16 Javascript
node.js中的fs.mkdirSync方法使用说明
Dec 17 Javascript
jQuery幻灯片带缩略图轮播效果代码分享
Aug 17 Javascript
理解javascript封装
Feb 23 Javascript
JSONP原理及应用实例详解
Sep 13 Javascript
vue强制刷新组件的方法示例
Feb 28 Javascript
js实现点赞效果
Mar 16 Javascript
通过vue刷新左侧菜单栏操作
Aug 06 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分多步骤填写发布信息的简单方法实例代码
2012/09/23 PHP
探讨PHP JSON中文乱码的解决方法详解
2013/06/06 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
jQuery使用ajaxSubmit()提交表单示例
2014/04/04 Javascript
Javascript基础教程之数据类型 (布尔型 Boolean)
2015/01/18 Javascript
学习JavaScript正则表达式
2015/11/13 Javascript
js实现C#的StringBuilder效果完整实例
2015/12/22 Javascript
AngularJs实现分页功能不带省略号的代码
2016/05/30 Javascript
基于bootstrap风格的弹框插件
2016/12/28 Javascript
微信小程序事件 bindtap bindinput代码实例
2019/08/26 Javascript
vue路由传参的基本实现方式小结【三种方式】
2020/02/05 Javascript
[00:33]2016完美“圣”典风云人物:Sccc宣传片
2016/12/03 DOTA
Django中更新多个对象数据与删除对象的方法
2015/07/17 Python
python中requests爬去网页内容出现乱码问题解决方法介绍
2017/10/25 Python
python用fsolve、leastsq对非线性方程组求解
2018/12/15 Python
Python HTML解析器BeautifulSoup用法实例详解【爬虫解析器】
2019/04/05 Python
python基于socket进行端口转发实现后门隐藏的示例
2019/07/25 Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
2019/09/06 Python
Python2及Python3如何实现兼容切换
2020/09/01 Python
施华洛世奇意大利官网:SWAROVSKI意大利
2018/07/23 全球购物
英国电子产品购物网站:Tech in the basket
2019/11/08 全球购物
ShellScript面试题一则-ShellScript编程
2014/06/24 面试题
营销与策划个人求职信
2013/09/22 职场文书
优秀员工个人的自我评价
2013/11/29 职场文书
幼儿教育感言
2014/02/05 职场文书
美术毕业生求职信
2014/02/25 职场文书
群众路线教育实践活动心得体会
2014/03/07 职场文书
大学生社会实践评语
2014/04/25 职场文书
纪律教育学习心得体会
2014/09/02 职场文书
爱情保证书
2015/01/17 职场文书
天鹅湖观后感
2015/06/09 职场文书
二年级数学教学反思
2016/02/16 职场文书
mysql优化
2021/04/06 MySQL
golang import自定义包方式
2021/04/29 Golang
在Django中使用MQTT的方法
2021/05/10 Python
mysql数据插入覆盖和时间戳的问题及解决
2022/03/25 MySQL