В документации 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
}
}
})
Каковы ситуации, когда наблюдатели более подходят, чем рассчитанные свойства? Как я должен решить, что выбрать? Документация продолжает говорить, что она более "родовая", но на самом деле не ставит своей цели.