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; } } } }