过滤器vue.filters的使用方法实现


Posted in Javascript onSeptember 18, 2019

写项目的时候,有一些方法我们是需要全局使用的,比如数字的四色五入保留小数点啊、一些工具方法、字符的格式化啊等等。这些很多页面需要用的、使用频率极高的方法,我们一般会将其封装为全局的方法;我以前是这样做的,有这么几种方式:

1、挂载到vue.prototype

在main.js入口文件中挂载到vue.prototype,如我们封装一个获取时间戳的函数。

Vue.prototype.now = Date.now || function () { 
  return new Date().getTime(); 
};

然后就可以在.vue页面中使用了

<script> 
  export default {  
    mounted(){ 
      console.log('now:' + this.now()); 
    }, 
  } 
</script>

2、全局混入mixins

同样也还是在main.js中。

mixins的全局注入规则大家应该都懂,如果组件中没有这个getTime方法,那么就会在页面中注入这个方法。

Vue.mixin({
 data() {},
 methods: {
  getTime() { 
   return new Date().getTime();
  }
 } 
});
new App({
 el: '#app'
 // ...
});

3、关于vue.filters

(1)问题

前面两种方法弊端有很多,比如一般将全局变量挂载到prototype总是不太好的,状态管理我们用vuex;第二个全局混入的话,子组件中也会混入这些方法等等;最大的弊端就是代码的可读性和维护问题,如果项目体积大了,复用的方法多了,总不能都挂到prototye上去对吧?
这个时候,vue.filters过滤器就能够较好的解决这个问题。

(2)使用

先看一波官网-->传送门

ok,看完了,基本了解了过滤器的概念和基本使用方式以后,我们具体到项目中的使用。

新建一个filters文件夹,丢一行代码(很常用的一行代码,就是对数字做一些四舍五入的处理)

过滤器vue.filters的使用方法实现

数字四舍五入保留两位小数点

main.js中引入

// global filters
import Vue from 'vue';
import * as filters from '@/filters'; 

Object.keys(filters).forEach((key) => {
 Vue.filter(key, filters[key]);
});

然后页面中就可以使用了

<div>{{num | formatAmountFixed2}}</div>

<script>
data(){
  return {
    num: 11111
  }
}
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS中setTimeout()的用法详解
Apr 14 Javascript
如何使用Jquery获取Form表单中被选中的radio值
Aug 09 Javascript
jquery高级编程的最佳实践详解
Mar 23 Javascript
JavaScript实现的简单拖拽效果
Jun 01 Javascript
jquery实现选中单选按钮下拉伸缩效果
Aug 06 Javascript
VUEJS实战之修复错误并且美化时间(2)
Jun 13 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
Aug 26 Javascript
js图片放大镜效果实现方法详解
Oct 28 Javascript
详解Vue使用 vue-cli 搭建项目
Apr 20 Javascript
angularjs利用directive实现移动端自定义软键盘的示例
Sep 20 Javascript
Vue中使用 setTimeout() setInterval()函数的问题
Sep 13 Javascript
React Native中ScrollView组件轮播图与ListView渲染列表组件用法实例分析
Jan 06 Javascript
layui问题之自动滚动二级iframe页面到指定位置的方法
Sep 18 #Javascript
解决使用layui对select append元素无效或者未及时更新的问题
Sep 18 #Javascript
Flutter实现仿微信底部菜单栏功能
Sep 18 #Javascript
详解element-ui中表单验证的三种方式
Sep 18 #Javascript
layui的布局和表格的渲染以及动态生成表格的方法
Sep 18 #Javascript
vue中使用element组件时事件想要传递其他参数的问题
Sep 18 #Javascript
解决layui追加或者动态修改的表单元素“没效果”的问题
Sep 18 #Javascript
You might like
PHP 遍历文件实现代码
2011/05/04 PHP
在Mac OS上搭建PHP的Yii框架及相关测试环境
2016/02/14 PHP
CodeIgniter基于Email类发邮件的方法
2016/03/29 PHP
smarty循环嵌套用法示例分析
2016/07/19 PHP
用Javascript实现UTF8编码转换成gb2312编码
2006/12/22 Javascript
php gethostbyname获取域名ip地址函数详解
2010/01/24 Javascript
javascript模拟枚举的简单实例
2014/03/06 Javascript
JavaScript面向对象编程入门教程
2014/04/16 Javascript
构造函数+原型模式构造js自定义对象(最通用)
2014/05/12 Javascript
教你在heroku云平台上部署Node.js应用
2014/07/30 Javascript
javascript实现简单的贪吃蛇游戏
2015/03/31 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
javascript动态设置样式style实例分析
2015/05/13 Javascript
详解参数传递四种形式
2015/07/21 Javascript
深入学习jQuery Validate表单验证(二)
2016/01/18 Javascript
JavaScript的React Web库的理念剖析及基础上手指南
2016/05/10 Javascript
xmlplus组件设计系列之列表(4)
2017/04/26 Javascript
vue后台管理之动态加载路由的方法
2018/08/13 Javascript
js+canvas实现两张图片合并成一张图片的方法
2019/11/01 Javascript
[05:17]DOTA2睡衣妹卖萌求签名 CJ第二天全明星影像
2013/07/28 DOTA
[53:49]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python中Proxypool库的安装与配置
2018/10/19 Python
Python如何爬取实时变化的WebSocket数据的方法
2019/03/09 Python
关于Python turtle库使用时坐标的确定方法
2020/03/19 Python
基于Python下载网络图片方法汇总代码实例
2020/06/24 Python
Django实现微信小程序支付的示例代码
2020/09/03 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
个人优缺点自我评价
2014/01/27 职场文书
毕业生个人求职自荐信
2014/02/26 职场文书
中学生旷课检讨书500字
2014/10/29 职场文书
2014年汽车销售工作总结
2014/12/01 职场文书
财务负责人岗位职责
2015/02/03 职场文书
人民检察院起诉书
2015/05/20 职场文书
行政上诉状范文
2015/05/23 职场文书
2015中秋祝酒词
2015/08/12 职场文书
关于maven依赖 ${xxx.version}报错问题
2022/01/18 Java/Android