vue 内置过滤器的使用总结(附加自定义过滤器)

2020-06-14 05:59:32易采站长站整理

最后我们还需要将这个列表用字母进行排序。我们可以在 filterBy 过滤器的基础上,链式调用orderBy 过滤器。


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

orderBy 的排序方式默认是升序,如果想要降序,只需要加一个小于0的参数:


<li v-for="product in products
| filterBy 'electronics' in 'category'
| orderBy 'name' -1 "
>

下面看看vue自带过滤器有哪些,并附带小示例。最后记得看看如果自定义过滤器哦!

vue自带的过滤器

capitalize(首字母大写)


<div class="test">
{{message | capitalize}}
</div>

<script type="text/javascript">
var myVue = new Vue({
el: ".test",
data: {
message: "javan"
}
})
</script>

上面代码输出:Javan

uppercase(全部大写)


// 初始message:abc

{{message | uppercase}}

// 上面代码输出:ABC

lowercase(全部小写)


// 初始message:ABC

{{message | lowercase}}

// 上面代码输出:abc

currency(输出金钱以及小数点)


<div class="test">
{{message | currency}} // 输出$520.13
{{message | currency '¥' "2"}} //输出 $520.13
</div>
<script type="text/javascript">
var myVue = new Vue({
el: ".test",
data: {
message: "520.1314"
}
})
</script>

第一个参数 {String} [货币符号] – 默认值: ‘$’
第二个参数 {Number} [小数位] – 默认值: 2

pluralize(变复数)

如果只有一个参数,复数形式只是简单地在末尾添加一个 “s”。如果有多个参数,参数被当作一个字符串数组,对应一个、两个、三个…复数词。如果值的个数多于参数的个数,多出的使用最后一个参数。


<div class="test">
{{message}} {{message | pluralize 'item'}} 输出: 1 item
<ul v-for="item in lili">
<li>
{{item}} {{item | pluralize 'item'}}
输出: 1 item 2 items 3 items
</li>
</ul>

<ul v-for="item in lili">
<li>
{{item}} {{item | pluralize 'st' 'rd'}}
输出: 1 st 2 rd 3 rd
</li>
</ul>