Vue.js — 过滤器使用总结

Vue.js — 过滤器使用总结

过滤器是一个通过输入数据,能够及时对数据进行处理并返回一个数据结果的简单函数。Vue有很多很便利的过滤器,过滤器通常会使用管道标志
“ | ”, 比如:

前言

{{ msg | capitalize }}
// 'abc' => 'ABC' 

在这个教程中,我们将会通过几个例子,了解和学习VueJs的过滤器。阅读这这篇文中的前提是你对Vue已经有了基本的语法基础。

美高梅59599,uppercase过滤器 : 将输入的字符串转换成大写字母的过滤器。

Vue.Js中的过滤器基础

VueJs允许你链式调用过滤器,简单的来说,就是一个过滤器的输出成为下一个过滤器的输入,然后再次过滤。接下来,我们可以想象一个比较简单的例子,使用了Vue的
filterBy + orderBy
过滤器来过滤所有商品products。过滤出来的产品是属于水果类商品。

过滤器是一个通过输入数据,能够及时对数据进行处理并返回一个数据结果的简单函数。Vue有很多很便利的过滤器,可以参考官方文档,
http://cn.vuejs.org/api/\#过滤器 ,过滤器通常会使用管道标志 “ | ”,
比如:

filterBy过滤器 : 过滤器的值必须是一个数组,filterBy +
过滤条件。过滤条件是:’string || function’+ in ‘optionKeyName’

{{ msg | capitalize }}
// 'abc' => 'ABC'

orderBy过滤器 : 过滤器的值必须是一个数组,orderBy +
过滤条件。过滤条件是:’string || array ||function’ + ‘order ≥ 0 为升序
|| order < 0 为降序’

uppercase过滤器 : 将输入的字符串转换成大写字母的过滤器。

接下来,我们可以看下下面这个例子:我们有一个商品数组products,我们希望遍历这个数组,并把他们打印成一张清单,这个用v-for很容易实现。

VueJs允许你链式调用过滤器,简单的来说,就是一个过滤器的输出成为下一个过滤器的输入,然后再次过滤。接下来,我们可以想象一个比较简单的例子,使用了Vue的
filterBy + orderBy
过滤器来过滤所有商品products。过滤出来的产品是属于水果类商品。

<ul class="product">
  <li v-for="product in products|filterBy '水果' in 'category' |orderBy 'price' 1">
    {{product.name}}-{{product.price | currency}}
  </li>
</ul> 

filterBy过滤器 : 过滤器的值必须是一个数组,filterBy +
过滤条件。过滤条件是:’string || function’+ in ‘optionKeyName’

上面的例子,就是用filterBy 过滤在 ‘category’中含有’水果’
关键字的列表,返回的列表就是只含有 ‘水果’
关键字的列表,而orderBy过滤器是根据价格做了一个升序,如果想要降序,只需要加一个小于0的参数;

orderBy过滤器 : 过滤器的值必须是一个数组,orderBy +
过滤条件。过滤条件是:’string || array ||function’ + ‘order ≥ 0 为升序
|| order < 0 为降序’

自定义过滤器

接下来,我们可以看下下面这个例子:我们有一个商品数组products,我们希望遍历这个数组,并把他们打印成一张清单,这个用v-for很容易实现。

虽然VueJs给我们提供了很多强有力的过滤器,但有时候还是不够。值得庆幸的,Vue给我们提供了一个干净简洁的方式来定义我们自己的过滤器,之后我们就可以利用管道
“ | ” 来完成过滤。

<ul class="product">
 <li v-for="product in products|filterBy '水果' in 'category' |orderBy 'price' 1">
 {{product.name}}-{{product.price | currency}}
 </li>
</ul>

定义一个全局的自定义过滤器,需要使用Vue.filter()构造器。这个构造器需要两个参数。

上面的例子,就是用filterBy 过滤在 ‘category’中含有’水果’
关键字的列表,返回的列表就是只含有 ‘水果’
关键字的列表,而orderBy过滤器是根据价格做了一个升序,如果想要降序,只需要加一个小于0的参数;

Vue.filter() Constructor Parameters:

自定义过滤器

1.filterId: 过滤器ID,用来做为你的过滤器的唯一标识;

虽然VueJs给我们提供了很多强有力的过滤器,但有时候还是不够。值得庆幸的,Vue给我们提供了一个干净简洁的方式来定义我们自己的过滤器,之后我们就可以利用管道
“ | ” 来完成过滤。

2.filter function:
过滤器函数,用一个function来接收一个参数,之后再将接收到的参数格式化为想要的数据结果。

定义一个全局的自定义过滤器,需要使用Vue.filter()构造器。这个构造器需要两个参数。

上面的例子中,我们要实现商品价格打5折该怎么做呢?其实就是实现的一个自定义的过滤器,表示将商品的价格打了5折;而要实现它,需要完成的是:

Vue.filter() Constructor Parameters:

a、使用Vue.filter()构造器创建一个过滤器叫做discount

      1.filterId: 过滤器ID,用来做为你的过滤器的唯一标识;

b、输入商品的原价,能够返回其打五折之后的折扣价

      2.filter function:
过滤器函数,用一个function来接收一个参数,之后再将接收到的参数格式化为想要的数据结果。

admin

网站地图xml地图