在 vue 3 composition api 中,使用 `ref()` 创建的响应式变量必须通过 `.value` 属性赋值,直接重新赋值 `variant = ref(...)` 会丢失响应性并覆盖原 ref 实例。
你在 axios.get() 的回调中执行了:
variant = Vue.ref(results.data.variants[0]);
这行代码创建了一个全新的 ref 实例,并将其赋值给局部变量 variant,但此时 setup() 函数早已将初始的 ref('ealjapd') 实例返回给了模板(如
{{ variant }} 或 :value="variant")。新创建的 ref 并未被 Vue 响应式系统追踪,也未暴露给组件上下文,因此视图不会更新,且原始 variant 引用已失效。
✅ 正确做法是:复用已声明的 ref 实例,仅更新其 .value:
? 关键要点:
这样修改后,variant 将真正响应数据变化,模板中绑定的内容也会实时更新。