vue 针对动态添加的属性,不支持响应式修改,解决办法

场景描述:很多时候前端从后台接口获取的数据列表的数据,满足不了列表渲染后,前端所有的数据控制。

举例说明:列表中需要有可点击本条数据实现隐藏/展示的功能。后台数据中是没有控制本条数据的对象。

比如有10条数据,每条数据被点击的时候,当前数据可实现隐藏和显示(show),

那么就要在数据初始化时,动态的给每一个对象添加新属性show:false。因为这是动态添加的,问题根源来了,vue针对动态添加的属性不支持一般化的设置,如item.show = true。XX完全做不到。

那么,解决办法就是,在根源上解决,在刚开始添加的时候就可用this.set(obj,'propertyName','Key'),实现动态添加新属性。

修改时,也是用this.set(obj,'propertyName','newKey'),ok啦!

看了https://cn.vuejs.org/v2/guide/list.html#%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9

后知道的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值