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