Vue 3 中组合式函数怎么接收外部传入的响应式参数

梦强小哥_6069

梦强小哥_6069

2026-10-22

764人浏览

原创

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

vue 3 中组合式函数怎么接收外部传入的响应式参数

组合式函数接收外部传入的响应式参数,核心在于**保持响应性链路不断开**。传 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-composition-api-best-practices

Vue 3 组合式 API 与

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Vue 教程
Vue 教程

共42课时 | 17.2万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.4万人学习

Vue.js 微实战--十天技能课堂
Vue.js 微实战--十天技能课堂

共18课时 | 1.7万人学习