vue中过滤器分为局部过滤器和全局过滤器,全局过滤器一般使用Vue.filter,局部过滤器则是在vue实例中使用filter,全局和局部语法基本一样,这里就以局部过滤器为例,先上代码,为了方便就在之前的代码中添加:
<template
>
<div id
="testa">
{{ name
}}
<br
/>
<button id
="a">看下面
</button
>
<ul
>
<li v
-for="(v, k) in name" :key
="k" :class="{ a1: flag1, a2: flag2 }" @click
="change()">{{ k
}} {{ v
| addzero
}}</li
>
</ul
>
<br
/>
</div
>
</template
>
<script
>
export default {
name
: 'test',
data() {
return {
name
: [2, 3, 6, 87, 5, 1, 35, 12],
flag1
: true,
flag2
: false
};
},
methods
: {
change() {
this.flag1
= !this.flag1
;
this.flag2
= !this.flag2
;
}
},
filters
: {
addzero(data
) {
var newdata
;
data
< 10 ? newdata
='0' + data
:newdata
=data
;
return newdata
;
}
}
};
</script
>
<style
>
#a
{
width
: 100px
;
height
: 50px
;
}
.a1
{
cursor
: pointer
;
background
-color
: rgba(0, 0, 0, 0.6);
color
: white
;
}
.a2
{
cursor
: pointer
;
background
-color
: white
;
color
: black
;
}
</style
>
代码的vue实例中添加了filters对象,对象中包含函数addzeros,同时在模板中添加了{{v|addzeros}}其意义是下面输出的数字小于10就在前面加上零,过滤器简单来说就是对数据进行过滤操作。
效果:
转载请注明原文地址:https://tech.qufami.com/read-9146.html