vue中computed计算属性无法直接进行传参
如果有传参数的需求比如说做数据筛选功能可以使用闭包函数实现。
例如:
在上篇博客vue安装使用最后的成绩表练习中的过滤功能的实现:
<tr v-for="(item,index) in arr" v-if="myfilter(index)"> <!--接收参数-->
<td>{{item.username}}</td>
<td>{{item.sex}}</td>
<td>{{item.grade}}</td>
<td>
<a href="#" @click="delClick(index)">删除</a>
</td>
</tr>
computed计算属性:
export default {
name: 'Achievement',
data () {
return {
...
}
},
methods: {
...
},
computed: {
myfilter() {
return function(index){ // 在返回的闭包函数里面传参
return this.arr[index].username.match(this.name)!==null;
}
}
}
}
网友评论