我在数组上设置了监视程序,并启用了深度监视,但是,当数组更改时,处理程序功能不会触发,在数据返回的对象中定义了应用程序。这是代码:
watch: {
applications: {
handler: function(val, oldVal) {
console.log('app changed');
},
deep: true,
},
page(newPage) {
console.log('Newpage', newPage);
},
},
答案 0 :(得分:3)
Vue无法检测到对数组的某些更改,例如:
直接使用索引设置项目时,
例如arr [indexOfItem] = newValue
您可以同时使用以下触发器数组更改检测:
Vue.set(arr, indexOfItem, newValue)
或
arr.splice(indexOfItem, 1, newValue)
您可以更好地了解阵列更改检测here
答案 1 :(得分:0)
如果您使用 arr[ index ] = 'some value'
重置数组,Vue 不会跟踪此变量。最好使用Vue array’s mutation method。这些方法用于跟踪 Vue 的数组变化检测。
它对我有用。