vue数据data中数组值改变不会更新视图解决

Posted 野猪佩奇007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue数据data中数组值改变不会更新视图解决相关的知识,希望对你有一定的参考价值。

问题描述:

vue数据data中数组值改变不会更新视图解决

methods: {
    setArr(){
         this.arr[0] = 1;
         this.arr[1] = 2;
         this.arr[2] = 3;
    }
}

原因分析:

vue 中无法检测到根据索引值修改的数据变动的,这种写法数组的值不会更新视图,vue只监听了数组的splice,push,unshift等方法,可以使用$set方法会更新视图

methods: {
     setArr() {
          this.$set(arr, 0, 1);
          this.$set(arr, 1, 2);
          this.$set(arr, 2, 3);
     }
}

解决方案:

如果是修改数组对象下的属性,可以使用以下方法

methods:{
    setArr(){
         this.arr[index].name = 'name';
         this.$set(this.arr,index,this.arr[index]);
    }
}

版权声明:本文为CSDN博主「Ango-go」的原创文章
原文链接:https://blog.csdn.net/weixin_39675478/article/details/92964835

以上是关于vue数据data中数组值改变不会更新视图解决的主要内容,如果未能解决你的问题,请参考以下文章