当应用程序中的变量发生变化时,我是否可以触发Vue.js函数?
var vm = new Vue({
el: '#demo',
data: {
variable1: 'Foo',
variable2: 'Bar',
.....
.....
variablen: 'Foo Bar'
},
watch: {
<<any variable>>: function(){
console.log('any of these variables changed');
}
}
})
答案 0 :(得分:1)
首先,我同意所有评论说50个字段听起来像代码气味,而且代码可能需要重构。
除此之外,vue允许您使用data object
观看整个$data
并明确将其设置为deep
watch: {
'$data': {
handler: function(newValue) {
console.log('Current vaules:' + newValue.FirstName + ' ' + newValue.LastName);
},
deep: true
}
}
请参阅此工作fiddle和此watch documentation摘录
选项:深
要检测对象内的嵌套值更改,您需要传递 in deep:在options参数中为true。请注意,您不需要这样做 所以要听Array变异。
警告强>
正如@BelminBedak所言,此示例仅表明可以存档但不建议用于生产环境。