过滤器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动态加载当前时间的方法
Feb 09 Javascript
jquery中map函数遍历数组用法实例
May 18 Javascript
jquery插件validation实现验证身份证号等
Jun 04 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
Oct 10 Javascript
使用JavaScript为一张图片设置备选路径的方法
Jan 04 Javascript
Javascript操作dom对象之select全面解析
Apr 24 Javascript
jQuery复合事件结合toggle()方法的用法示例
Jun 10 jQuery
Javascript实现base64的加密解密方法示例
Jun 27 Javascript
利用js编写网页进度条效果
Oct 08 Javascript
JavaScript适配器模式详解
Oct 19 Javascript
微信小程序当前时间时段选择器插件使用方法详解
Dec 28 Javascript
从0到1构建vueSSR项目之node以及vue-cli3的配置
Mar 07 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中一个有意思的日期逻辑处理
2012/03/25 PHP
浏览器预览PHP文件时顶部出现空白影响布局分析原因及解决办法
2013/01/11 PHP
smarty自定义函数htmlcheckboxes用法实例
2015/01/22 PHP
php获取POST数据的三种方法实例详解
2016/12/20 PHP
javascript实现划词标记+划词搜索功能
2007/03/06 Javascript
javascript学习笔记(七)利用javascript来创建和存储cookie
2011/04/08 Javascript
JS简单实现元素复制示例附图
2013/11/19 Javascript
javascript使用正则控制input输入框允许输入的值方法大全
2014/06/19 Javascript
Jquery选择器中使用变量实现动态选择例子
2014/07/25 Javascript
jquery实现搜索框常见效果的方法
2015/01/22 Javascript
JS选中checkbox后获取table内一行TD所有数据的方法
2015/07/01 Javascript
基于JavaScript实现通用tab选项卡(通用性强)
2016/01/07 Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
2016/07/07 Javascript
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
2017/05/22 Javascript
原生JS实现图片无缝滚动方法(附带封装的运动框架)
2017/10/01 Javascript
分享ES6的7个实用技巧
2018/01/18 Javascript
小程序实现列表点赞功能
2018/11/02 Javascript
对Python中DataFrame按照行遍历的方法
2018/04/08 Python
对Python Class之间函数的调用关系详解
2019/01/23 Python
在Python中用GDAL实现矢量对栅格的切割实例
2020/03/11 Python
python中二分查找法的实现方法
2020/12/06 Python
利用Python实现自动扫雷小脚本
2020/12/17 Python
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
Myholidays美国:在线旅游网站
2019/08/16 全球购物
linux面试相关问题
2012/08/11 面试题
shell程序中如何注释
2012/02/17 面试题
学生自我鉴定范文
2013/10/04 职场文书
员工拾金不昧表扬信
2014/01/09 职场文书
高三英语复习计划
2015/01/19 职场文书
社区元宵节活动总结
2015/02/06 职场文书
现货白银电话营销话术
2015/05/29 职场文书
幼师自荐信范文(2016推荐篇)
2016/01/28 职场文书
苹果M1芯片安装nginx 并且部署vue项目步骤详解
2021/11/20 Servers
python程序的组织结构详解
2021/12/06 Python
mysql分组后合并显示一个字段的多条数据方式
2022/01/22 MySQL