在data中定义的变量可随意修改,但有些变量若需要计算才能得出结果,一般用computed定义。
new Vue({
//...
computed: {
a: function(){
return this.b;
}
}
})
但这样a无法手动修改。有时需求为a在某些条件下计算生成,某些条件下可以手动赋值(比如绑定在input上),需要做如下修改。
new Vue({
//...
computed: {
a: {
get: function(){
return this.b;
},
set: function(newValue){
//通过修改b触发get事件,从而修改a
this.b = newValue;
}
}
}
})
林秀栋的技术博客