过滤器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 相关文章推荐
IFrame跨域高度自适应实现代码
Aug 16 Javascript
js实现一个省市区三级联动选择框代码分享
Mar 06 Javascript
jquery使用append(content)方法注意事项分享
Jan 06 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
Feb 13 Javascript
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
Jul 25 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
Nov 30 Javascript
详解Vue 事件驱动和依赖追踪
Apr 22 Javascript
Vue内容分发slot(全面解析)
Aug 19 Javascript
使用webpack3.0配置webpack-dev-server教程
May 29 Javascript
小程序getLocation需要在app.json中声明permission字段
Apr 04 Javascript
在layui中select更改后生效的方法
Sep 05 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
Apr 29 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导入模块文件分享
2015/03/17 PHP
php强大的时间转换函数strtotime
2016/02/18 PHP
Yii遍历行下每列数据的方法
2016/10/17 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
laravel框架中间件简单使用方法示例
2020/01/25 PHP
新闻内页-JS分页
2006/06/07 Javascript
Javascript的IE和Firefox兼容性汇编(zz)
2007/02/02 Javascript
extjs fckeditor集成代码
2009/05/10 Javascript
javascript实现rgb颜色转换成16进制格式
2015/07/10 Javascript
AngularJS 模块化详解及实例代码
2016/09/14 Javascript
详解AngularJS用Interceptors来统一处理HTTP请求和响应
2017/06/08 Javascript
Nodejs之http的表单提交
2017/07/07 NodeJs
基于Jquery Ajax type的4种类型(详解)
2017/08/02 jQuery
ES6中Array.includes()函数的用法
2017/09/20 Javascript
2种简单的js倒计时方式
2017/10/20 Javascript
将Sublime Text 3 添加到右键中的简单方法
2017/12/12 Javascript
Nodejs实现用户注册功能
2019/04/14 NodeJs
mock.js模拟数据实现前后端分离
2019/07/24 Javascript
element-ui table组件如何使用render属性的实现
2019/11/04 Javascript
python xml.etree.ElementTree遍历xml所有节点实例详解
2016/12/04 Python
Python基础教程之内置函数locals()和globals()用法分析
2018/03/16 Python
Linux(Redhat)安装python3.6虚拟环境(推荐)
2018/05/05 Python
对Django的restful用法详解(自带的增删改查)
2019/08/28 Python
CSS3实现千变万化的文字阴影text-shadow效果设计
2016/04/26 HTML / CSS
BNKR中国官网:带你感受澳洲领先潮流时尚
2018/08/21 全球购物
Nisbets爱尔兰:英国最大的厨房和餐饮设备供应商
2019/01/26 全球购物
涉外文秘个人求职的自我评价
2013/10/07 职场文书
质量工程师岗位职责
2013/11/16 职场文书
初中校园之声广播稿
2014/01/15 职场文书
活动志愿者自荐信
2014/01/27 职场文书
房屋出售协议书
2014/04/10 职场文书
纪检干部现实表现材料
2014/08/21 职场文书
个人贷款收入证明
2014/10/26 职场文书
关于运动会的宣传稿
2015/07/23 职场文书
Python中如何处理常见报错
2022/01/18 Python
Win11怎么跳过联网验机 ?Win11跳过联网验机激活教程
2022/04/05 数码科技