Vue2踩坑记录:父子间参数传递,不要尝试修改计算属性,可能无法实现响应式

59 篇文章 ¥19.90 ¥99.00

vue2:父组件中的数组没有响应子组件中的splice操作-优快云博客中,曾创建了一个compute属性的数组来作为props传入数组对象的拷贝,在子组件中使用。

但是根据项目需要,该数组对象需要支持树形数据结构,且层级不限。在使用的过程中,不仅仅会修改根节点,很多时候会对子节点进行增删改操作,而对这些子节点的数据进行操作后,就需要改变this.moduleList的地址,使它每次都是一个新的数组,否则页面无法捕获到这种更新,也就无法实时响应。

this.moduleList = [...this.moduleList]

但是执行时提示你想要修改一个计算属性但是没有设置setter。

再一次理解计算属性

在Vue中,计算属性是根据它们的依赖进行动态计算的。由于计算属性没有setter,所以默认情况下是只读的,即不能修改计算属性的值。

如果你尝试修改计算属性的值但又没有定义setter,Vue会发出一个警告,提示你想要修改一个计算属性但是没有设置setter。这是因为计算属性的值应该是通过其他的响应式属性计算得到的,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值