vue中的computed和methods的区别

computed是计算属性的意思,我们在得到最后结果的时候可以使用computed

例如:
<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高

猜你喜欢

转载自blog.51cto.com/12885303/2116659