Vue3 <script setup>中计算属性无响应?技术求助
问题原因及解决方案
核心问题
你把计算属性(computed)当成可修改的状态来使用,这是错误的用法。computed的本质是基于依赖的派生值,只能读取,不能直接修改;直接修改computed返回的数组会和Vue的响应式逻辑冲突,导致视图无法更新。
具体问题分析
attributes.english是computed,它的依赖是product.value.attributes,只有当product.value.attributes变化时,computed才会重新计算。- 你调用
addAttributeInput直接修改attributes.english(比如unshift),虽然Vue DevTools能看到变化,但这不是响应式的正确更新方式——Vue不会追踪对computed返回值的直接修改,后续如果product变化,computed会重新生成数组,直接覆盖你手动添加的内容。 - 把computed嵌套在reactive对象里的写法也不规范,会干扰响应式系统的正常工作。
修复代码
脚本部分(
相关产品推荐
相关产品推荐

