入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

vue2.0 自定义过滤器(filter)实例

创建时间:2018-05-15 投稿人: 浏览次数:297

一、过滤器简介

(1)过滤器创建
  过滤器的本质 是一个有参数 有返回值的方法

1234567new Vue({  filters:{    myCurrency:function(myInput){      return 处理后的数据    }  }})

(2)过滤器使用
语法:

1<any>{{表达式 | 过滤器}}</any>

举个例子:

1<h1>{{price | myCurrency}}</h1>

(3)过滤器高级用法

在使用过滤器的时候,还可以指定参数,来告诉过滤器按照参数进行数据的过滤。

①如何给过滤器传参?

1<h1>{{price | myCurrency("¥",true)}}</h1>

②如何在过滤器中接收到?

12345678910new Vue({  filters:{    //myInput是通过管道传来的数据    //arg1在调用过滤器时在圆括号中第一个参数    //arg2在调用过滤器时在圆括号中第二个参数    myCurrency:function(myInput,arg1,arg2){      return 处理后的数据    }  }})

 

二、封装  自定义过滤器

filters.js

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346/** * 自定义过滤器 */import Vue from "vue" /** * 制保留2位小数 * 例如:2,会在2后面补上00.即2.00 */Vue.filter("toDecimal2", x => {  var f = parseFloat(x);  if (isNaN(f)) {    return false;  }  var f = Math.round(x * 100) / 100;  var s = f.toString();  var rs = s.indexOf(".");  if (rs < 0) {    rs = s.length;    s += ".";  }  while (s.length <= rs + 2) {    s += "0";  }  return s;}); /** * 获取两位小数部分 * 例如:11.05,返回 "05" * 如果是整数,返回 "00" */Vue.filter("getDecimalPart", x => {  var f = parseFloat(x);  if (isNaN(f)) {    return false;  }  var f = Math.round(x * 100) / 100;  var s = f.toString();  var rs = s.indexOf(".");  if (rs < 0) {    rs = s.length;    s += ".";  }  while (s.length <= rs + 2) {    s += "0";  }  
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像