过滤器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 相关文章推荐
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
Mar 10 Javascript
ajax 缓存 问题 requestheader
Aug 01 Javascript
json数据与字符串的相互转化示例
Sep 18 Javascript
尝试动手制作javascript放大镜效果
Dec 25 Javascript
关于iframe跨域POST提交的方法示例
Jan 15 Javascript
使用bat打开多个cmd窗口执行gulp、node
Feb 17 Javascript
js图片轮播插件的封装
Jul 21 Javascript
Angular.js实现获取验证码倒计时60秒按钮的简单方法
Oct 18 Javascript
vue 解决computed修改data数据的问题
Nov 06 Javascript
原生js拖拽实现图形伸缩效果
Feb 10 Javascript
Vue全局使用less样式,组件使用全局样式文件中定义的变量操作
Oct 21 Javascript
如何利用JavaScript编写一个格斗小游戏
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新手上路(四)
2006/10/09 PHP
php读取msn上的用户信息类
2008/12/05 PHP
php循环table实现一行两列显示的方法
2015/06/04 PHP
简单的php+mysql聊天室实现方法(附源码)
2016/01/05 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
2020/09/15 PHP
Javascript中valueOf与toString区别浅析
2013/03/19 Javascript
js控制web打印(局部打印)方法整理
2013/05/29 Javascript
纯js代码实现简单计算器
2015/12/02 Javascript
js 截取或者替换字符串中的数字实现方法
2016/06/13 Javascript
D3.js实现雷达图的方法详解
2016/09/22 Javascript
JS简单获取当前年月日星期的方法示例
2017/02/07 Javascript
JS图片轮播与索引变色功能实例详解
2017/07/06 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
webpack搭建vue 项目的步骤
2017/12/27 Javascript
如何理解Vue的v-model指令的使用方法
2018/07/19 Javascript
[01:24:09]Ti4 冒泡赛第二轮DK vs C9 1
2014/07/14 DOTA
[02:04]完美世界城市挑战赛秋季赛报名开始 谁是solo路人王?
2019/10/10 DOTA
python调用java的Webservice示例
2014/03/10 Python
Python编程语言的35个与众不同之处(语言特征和使用技巧)
2014/07/07 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
2018/01/04 Python
python把1变成01的步骤总结
2019/02/27 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
2019/08/13 Python
pycharm开发一个简单界面和通用mvc模板(操作方法图解)
2020/05/27 Python
Python 分布式缓存之Reids数据类型操作详解
2020/06/24 Python
Python建造者模式案例运行原理解析
2020/06/29 Python
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
机电专业毕业生推荐信
2013/11/10 职场文书
2014年入党积极分子党课学习心得体会模板
2014/04/03 职场文书
房产公证书范本
2014/04/10 职场文书
村抢险救灾方案
2014/05/09 职场文书
教师竞聘演讲稿
2014/05/16 职场文书
汉语言文学毕业求职信
2014/07/17 职场文书
研究生导师推荐信
2015/03/25 职场文书
小学六年级毕业感言
2015/07/30 职场文书
SpringBoot使用ip2region获取地理位置信息的方法
2022/06/21 Java/Android