前几天遇到了这个问题,百度了一下也没有解决方案,记录一下
例:const test = computed(() => i * 2 )
我是直接修改了 test 的值就报了这个错 [Vue warn] Write operation failed computed value is readonly
test 的值不能修改,只能通过计算得到。
解决办法就是把 computed 改成 watch
文章源自玩技e族-https://www.playezu.com/179717.html文章源自玩技e族-https://www.playezu.com/179717.html
广东省广州市 2F
不错
未知地区 1F
vue3 里,computed 也可以加 setter 了:
https://v3.cn.vuejs.org/guide/computed.html#%E8%AE%A1%E7%AE%97%E5%B1%9E%E6%80%A7%E7%BC%93%E5%AD%98-vs-%E6%96%B9%E6%B3%95
如果你的场景下,计算出来的新属性和原有属性之间并不是强关联(任意一边变了,都需要另一边立即响应产生相应改变),那用 watch 更好,提供的操作会更自由。谢谢大佬,又学到了