vue 过滤器 filter 的使用

vue

1.局部过滤器的使用

比如性别,订单状态的数据,后端一般返回数字来代替状态。以性别为模拟数据,0是未知,1是男,2是女。

直接数据渲染出来,只有012,没有性别

根据后端返回的int类型值,前端对数据进行处理,并渲染在界面上。

在js里,建立一个局部过滤器 filters

 

export default {

data(){

return{

//模拟数据

sexData: [

{name: \'测试\',sex: \'0\'},

{name: \'测试\',sex: \'1\'},

{name: \'测试\',sex: \'2\'},

],

}

},

methods:{},

//局部过滤器

filters:{

formSex(set) { //formSex过滤器名 set表示要过滤的数据

const status = {

"0": "空白",

"1": "男",

"2": "女",

}

return status[set];

}

}

}

使用过滤器

<view v-for=\'(item,index) in sexData\'>

<text>{{item.name}}</text> ----

<text>{{item.sex | formSex }}</text>

</view>

在实际开发中,全局的过滤器要比局部过滤器使用的更广泛一些,说白了我们为什么要使用过滤器,其实就跟使用函数是一样,把一些方法封装,供其它组件使用,这样调用起来更方便也更快捷。

 

2.通过循环来使用过滤器

在时后台返回的数据有多个字段,前端只需要其中一个字段。这时可以使用循环过滤来获取其中的一个字段。

模拟数据:

data() {

return {

//过滤后存放数据

list: [],

//过滤前的数据

listData: [

{\'id\': \'0\',\'name\': \'测试\',\'image\': \'图片1\'},

{\'id\': \'0\',\'name\': \'测试1\',\'image\': \'图片1\'},

{\'id\': \'1\',\'name\': \'测试2\',\'image\': \'图片1\'},

{\'id\': \'1\',\'name\': \'测试\',\'image\': \'图片1\'},

]

}

},

使用过滤器循环获取id为0的数据

//循环过滤id为0的数据

this.list = this.listData.filter((item, index) => {

return item.id == 0;

});

过滤后

 

项目地址:https://gitee.com/jielov/uni-app-tabbar

以上是 vue 过滤器 filter 的使用 的全部内容, 来源链接: utcz.com/z/379245.html

回到顶部