kum*_*ail 4 javascript oop vue.js
我在一个数组上设置了一个观察器,并在它上面启用了深度观察,但是当数组更改时处理程序函数不会触发,应用程序是在 data 中返回的对象中定义的。这是代码:
watch: {
applications: {
handler: function(val, oldVal) {
console.log('app changed');
},
deep: true,
},
page(newPage) {
console.log('Newpage', newPage);
},
},
Run Code Online (Sandbox Code Playgroud)
Ian*_*ong 15
Vue 无法检测到数组的某些更改,例如当您直接在索引中设置项目时:
例如 arr[indexOfItem] = newValue
以下是检测数组变化的一些替代方法:
Vue.set(arr, indexOfItem, newValue)
Run Code Online (Sandbox Code Playgroud)
或者
arr.splice(indexOfItem, 1, newValue)
Run Code Online (Sandbox Code Playgroud)
您可以在此处更好地了解数组更改检测