组合式函数需保持响应性链路不断开:传ref用computed或tovalue解包,传reactive对象直接访问属性,传普通值须用watch或tovalue监听更新。

组合式函数接收外部传入的响应式参数,核心在于**保持响应性链路不断开**。传 ref 或 reactive 对象时,内部可直接使用;传普通值(如字符串、数字)则需额外处理,否则无法自动响应更新。
传 ref 类型参数:解包或保持响应式引用
当父组件或调用方传入的是 ref(例如 :count="countRef"),组合式函数内推荐不直接取 .value,而是通过 computed 或 toValue 建立响应式依赖:
- 直接解包(简单场景可用):
const value = props.count?.value,但后续 props.count 变更不会触发更新 - 推荐方式:用
computed(() => props.count?.value),确保响应式追踪 - Vue 3.4+ 可用
toValue(来自@vue/reactivity)统一处理 ref/普通值,自动解包并响应变化
传 reactive 对象:直接访问属性即可
若传入的是 reactive 对象(如 :user="userState"),组合式函数中可直接读写其属性,无需额外包装:
vue-composition-api-best-practices
Vue 3 组合式 API 与
热门下载
相关下载
精品课程
相关推荐
/
热门推荐
/
最新课程
最新文章
