Javascript 监视简单数组的元素
Vue在简单数组项中看不到更改 我正在学习Vue.js,与watcher有问题。 也就是说,我试图观察数组中的变化,并改变一个数据值。 每次添加新项目并更改或删除现有项目时,我都希望更改该值Javascript 监视简单数组的元素,javascript,arrays,vue.js,watch,Javascript,Arrays,Vue.js,Watch,Vue在简单数组项中看不到更改 我正在学习Vue.js,与watcher有问题。 也就是说,我试图观察数组中的变化,并改变一个数据值。 每次添加新项目并更改或删除现有项目时,我都希望更改该值 data() { return { change: false, array: ['one','two','three','four'] } }, watch:{ array:{ deep:true, handler()
data() {
return {
change: false,
array: ['one','two','three','four']
}
},
watch:{
array:{
deep:true,
handler(){
this.change = true;
}
}
}
Vue只需查看数组长度何时更改,而不查看特定元素。您可以查看
对象中的嵌套值,如使用点状字符串表示法中所示
var vm = new Vue({
data: {
e: {
f: {
g: 5
}
}
},
watch: {
// watch vm.e.f's value: {g: 5}
'e.f': function (val, oldVal) { /* ... */ }
}
})
据我所知,您不能对数组执行此操作(即数组[0]
),因为引用将被删除。我认为,如果整个数组发生变化,最好的方法是比较watcher函数中的newValue
和oldValue
// from vuejs docs
watch: {
// whenever question changes, this function will run
question: function (newQuestion, oldQuestion) {
this.answer = 'Waiting for you to stop typing...'
this.debouncedGetAnswer()
}
},
您可以查看对象
中的嵌套值,如使用点状字符串表示法中所示
var vm = new Vue({
data: {
e: {
f: {
g: 5
}
}
},
watch: {
// watch vm.e.f's value: {g: 5}
'e.f': function (val, oldVal) { /* ... */ }
}
})
据我所知,您不能对数组执行此操作(即数组[0]
),因为引用将被删除。我认为,如果整个数组发生变化,最好的方法是比较watcher函数中的newValue
和oldValue
// from vuejs docs
watch: {
// whenever question changes, this function will run
question: function (newQuestion, oldQuestion) {
this.answer = 'Waiting for you to stop typing...'
this.debouncedGetAnswer()
}
},
如何更改阵列?如何更改阵列?