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

在Vue中,直接通过索引修改数组元素可能不会触发视图更新。Vue监听了数组的特定方法如splice、push、unshift等。要确保视图更新,应使用this.$set方法。例如,设置数组元素应写成this.$set(arr,index,value)。如果修改数组对象的属性,可以先赋值再使用$set确保视图同步。
摘要由CSDN通过智能技术生成
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]);
     }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值