vue使用watch监听数据变化来发请求,watch监听vuex中数据改变
本文主要介绍Vue无法监控数组变化的解决方案。通过示例代码详细介绍,watch有一定的参考价值,感兴趣的朋友可以参考一下。
目录
I. vue监控阵列
第二,vue无法监控数组变化。
一、vue监听数组
Vue实际上可以监控阵列变化,例如
data () {
返回{
watchArr: [],
};
},
watchArr (newVal) {
console . log( listening: new val );
},
已创建(){
setTimeout(()={
this.watchArr=[1,2,3];
}, 1000);
},
例如,使用splice(0,2,3)从数组下标0中删除两个元素,并在下标0处插入一个元素3。
data () {
返回{
watchArr: [1,2,3],
};
},
watchArr (newVal) {
console . log( listening: new val );
},
已创建(){
setTimeout(()={
this.watchArr.splice(0,2,3);
}, 1000);
},
推数组也可以监听。
二、vue无法监听数组变化的情况
但是,在以下两种情况下,无法监控阵列
当直接按索引设置数组项时,例如arr[indexofitem]=newValue
例如,当修改数组的长度时,arr.length=newLength
例如,您不能监视阵列变化。
1.使用index直接修改数组值。
data () {
返回{
watchArr: [{
姓名:“krry”,
}],
};
},
watchArr (newVal) {
console . log( listening: new val );
},
已创建(){
setTimeout(()={
this.watchArr[0]。name=小月;
}, 1000);
},
2.修改数组的长度。
如果长度大于原始数组,后续元素将被设置为未定义。
如果长度小于原始数组,多余的元素将被删除。
data () {
返回{
watchArr: [{
姓名:“krry”,
}],
};
},
watchArr (newVal) {
console . log( listening: new val );
},
已创建(){
setTimeout(()={
this . watch arr . length=5;
}, 1000);
},
关于Vue无法监控阵列变化的这篇文章到此为止。有关Vue无法监控阵列变化的更多信息,请观看我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。