-
Vue
提供了一种更通用的方式来观察和响应 Vue 实例上的数据变动:侦听属性
。当你有一些数据需要随着其它数据变动而变动时,你很容易滥用watch
——特别是如果你之前使用过AngularJS
。然而,通常更好的做法是使用计算属性而不是命令式的watch
回调。 -
计算属性
只有在它的相关依赖发生改变时才会重新求值。
<div id="demo">{{ fullName }}</div>
1.侦听属性
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
}
}
})
2.计算属性
var vm = new Vue({
el: '#demo',
data: {
firstName: 'Foo',
lastName: 'Bar'
},
computed: {
fullName: function () {
return this.firstName + ' ' + this.lastName
}
}
})