【发布时间】:2017-09-02 19:31:43
【问题描述】:
在 Vue.js 文档中有一个如下示例:
var vm = new Vue({
el: '#demo',
data: {
firstName: 'Foo',
lastName: 'Bar',
fullName: 'Foo Bar'
},
watch: {
firstName: function (val) {
this.fullName = val + ' ' + this.lastName
},
lastName: function (val) {
this.fullName = this.firstName + ' ' + val
}
}
})
上面的代码是命令式和重复的。将其与计算属性版本进行比较:
var vm = new Vue({
el: '#demo',
data: {
firstName: 'Foo',
lastName: 'Bar'
},
computed: {
fullName: function () {
return this.firstName + ' ' + this.lastName
}
}
})
观察者比计算属性更适合的情况是什么?我应该如何决定选择哪个?文档一直说它更“通用”,但并没有真正说明它的用途。
【问题讨论】: