vue改变对象或数组时的刷新机制总结

总结:
1.数组更改值,不会触发更新;增加删除值可触发更新。
2.对象更改值可触发更新,增加或者删除属性不会触发更新。
3.对象数组:数组中的对象更改值会触发更新。


一、纯数组-------showArr:[true,true]


  1. 数组中元素直接赋值,---不触发刷新

          this.showArr[0]=!this.showArr[0];
    
  2. 数组修改后整体赋值,---不触发刷新

          var parr=this.showArr;
          parr[0]=!parr[0];
          this.showArr=parr;
    
  3. 数组重新复制出一份新的,修改后整体赋值,---可触发刷新

          var parr=this.showArr.slice(0);
          parr[0]=!parr[0];
          this.showArr=parr;
    
  4. 用$set赋值,---可触发刷新

    this.$set(this.showArr,0,!this.showArr[0])

二、纯对象-------showArr:{'showBool':true}

  1. 对象中元素直接赋值,---可触发刷新

           this.showArr['showBool']=!this.showArr['showBool'];
    
  2. 对象修改后整体赋值,---可触发刷新

           var parr=this.showArr;
           parr['showBool']=!parr['showBool'];
           this.showArr=parr;
    
    
  3. 用$set赋值,---可触发刷新

          this.$set(this.showArr,'showBool',!this.showArr['showBool']);
    

三、 对象数组-------showArr:[{'showBool':true},{'showBool':true}]

  1. 数组中元素直接赋值,---可触发刷新

           this.showArr[0]['showBool']=!this.showArr[0]['showBool'];
    
  2. 数组修改后整体赋值,---可触发刷新

           var parr=this.showArr;
           parr[0]['showBool']=!parr[0]['showBool'];
           this.showArr=parr;
    
  3. 数组重新复制出一份新的,修改后整体赋值,---可触发刷新

           var parr=this.showArr.slice(0);
           parr[0]['showBool']=!parr[0]['showBool'];
           this.showArr=parr;
    
  4. 用$set赋值,---可触发刷新

           this.$set(this.showArr[0],'showBool',!this.showArr[0]['showBool']);
    

四、数组或对象增加删除值:

  this.numArr.push(4);//---(数组增加元素)可触发刷新
  this.numArr.splice(1,1);//---(数组删除元素)可触发刷新
  this.numObj.m=4;//---(对象增加属性)不触发刷新
  delete this.numObj.y;//---(对象删除属性)不触发刷新
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值