过滤器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 相关文章推荐
JQuery 学习笔记 选择器之四
Jul 23 Javascript
Knockoutjs的环境搭建教程
Nov 26 Javascript
js实现的切换面板实例代码
Jun 17 Javascript
JS正则表达式大全(整理详细且实用)
Nov 14 Javascript
用JS实现3D球状标签云示例代码
Dec 01 Javascript
JavaScript实现的圆形浮动标签云效果实例
Aug 06 Javascript
基于JS实现数字+字母+中文的混合排序方法
Jun 06 Javascript
jQuery Ajax前后端使用JSON进行交互示例
Mar 17 Javascript
JS面向对象编程实现的拖拽功能案例详解
Mar 03 Javascript
jQuery事件模型默认行为执行顺序及trigger()与 triggerHandler()比较实例分析
Apr 30 jQuery
关于vue 结合原生js 解决echarts resize问题
Jul 26 Javascript
vue axios请求成功却进入catch的原因分析
Sep 08 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文章按日期(月日)SQL归档语句
2012/11/29 PHP
解析smarty模板中类似for的功能实现
2013/06/18 PHP
php更新修改excel中的内容实例代码
2014/02/26 PHP
PHP函数extension_loaded()用法实例
2015/01/19 PHP
JavaScript 空位补零实现代码
2010/02/26 Javascript
JQUERY获取form表单值的代码
2010/07/17 Javascript
ie浏览器使用js导出网页到excel并打印
2014/03/11 Javascript
JS数组array元素的添加和删除方法代码实例
2015/06/01 Javascript
JS实现的网页背景闪电闪烁效果代码
2015/10/17 Javascript
jQuery siblings()用法实例详解
2016/04/26 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
2016/07/07 Javascript
JS查找字符串中出现次数最多的字符
2016/09/05 Javascript
javascript读取文本节点方法小结
2016/12/15 Javascript
Angular.js实现注册系统的实例详解
2016/12/18 Javascript
js实现前端分页页码管理
2017/01/06 Javascript
使用Bootstrap + Vue.js实现添加删除数据示例
2017/02/27 Javascript
JavaScript中的高级函数
2018/01/04 Javascript
微信小程序登录数据解密及状态维持实例详解
2019/05/06 Javascript
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
实例讲解python函数式编程
2014/06/09 Python
Python 解决中文写入Excel时抛异常的问题
2018/05/03 Python
Sanic框架请求与响应实例分析
2018/07/16 Python
pygame实现俄罗斯方块游戏(基础篇2)
2019/10/29 Python
Python实现变声器功能(萝莉音御姐音)
2019/12/05 Python
keras的load_model实现加载含有参数的自定义模型
2020/06/22 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
2020/12/11 Python
Html5页面上如何禁止手机虚拟键盘弹出
2020/03/19 HTML / CSS
大学生实习感言
2014/01/16 职场文书
开办大学饮食联盟创业计划书
2014/01/29 职场文书
上课迟到检讨书
2014/02/19 职场文书
大学生工作求职信
2014/06/23 职场文书
个人师德师风自我剖析材料
2014/09/29 职场文书
学期个人工作总结
2015/02/13 职场文书
写给导师的自荐信
2015/03/06 职场文书
2015秋学期开学寄语
2015/05/28 职场文书
Nginx实现会话保持的两种方式
2022/03/18 Servers