例如:
<input type="checkbox" v-model="checkAll">
computed: {
checkAll: {
// 当数据变化时会重新计算(取值)
get() {
return this.tableData.every(item => item.isSelect)
},
// val给checkbox赋值时
set(val) {
this.tableData.forEach(item => item.isSelect = val)
},
},
}
methods需要一个事件源来触发
例如:
<button @click=change" class="btn btn-danger">删除</button>
methods: {
change(){
this.tableData.forEach(item=>item.isSelect=this.checkAll)
},
}
computed 如果计算的结果不发生改变就不会触发这个函数,computed会缓存,而methods每次触发这个事件都会触发这个函数,computed的性能比methods高
原文:http://blog.51cto.com/12885303/2116659