Vue-面试-Composition-API与setup
2026年10月16日·Admin·1 次浏览
面试题:Composition API 解决了什么?setup 里要注意什么?
相对 Options API 的优势
- 逻辑聚合:同一功能的 ref、computed、watch、方法写在一起,不用按选项类型拆散在
data、methods、watch。 - 复用:组合函数 Composables(自定义 hook)比 mixin 更清晰,数据来源可追踪,无命名冲突隐患。
- TypeScript:类型推断更自然;Options API 需较多辅助类型。
setup 执行时机
- 在
beforeCreate之前调用,没有this。 - 同步返回的对象(Vue3)或
return的内容会暴露给模板;仅ref在模板里自动 unwrap,script setup更简洁。
ref vs reactive
| ref | reactive | |
|---|---|---|
| 包装类型 | 任意类型(基本类型必须用 ref) | 仅对象 |
| 访问 | .value(script 中) |
直接属性 |
| 整体替换 | ref 可换整个对象 |
reactive 换引用会丢响应式,常用 ref 包对象 |
常见考点
toRefs/toRef:解构reactive时保持响应式。readonly:暴露只读视图,防止子组件乱改。defineProps/defineEmits(script setup):编译宏,无需 import。