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中数组值改变不会更新视图解决的主要内容,如果未能解决你的问题,请参考以下文章

解决vue中对象属性改变视图不更新的问题

vue中修改对象数组的属性值不会渲染到页面上

vue中对象属性改变视图不更新问题

面试题系列---data数据改变,页面不更新原因及解决方案

解决vue中修改了数据但视图无法更新的情况

vue的data数据用的是全局变量,变量是普通数据类型,变量改变,data未改变