选项式 API 是 Vue 一直以来的经典写法:在 export default 导出的对象里填写 data、methods、computed、watch、生命周期钩子等固定字段,组件逻辑按选项类型分散在不同区块中。它对初学者非常友好,因为字段名本身就是一份清单,照着填即可,不需要自己规划代码组织方式,this 指向也由 Vue 统一代理。
随着组件变复杂,选项式 API 的短板会逐渐暴露:同一段业务逻辑被切分到 data、methods、watch 等多处,来回跳转才能读懂一个功能,逻辑复用只能靠 mixin。Vue 3 推出的组合式 API 正是为解决这些痛点,但选项式 API 并未被废弃,依然适合中小型组件、快速原型以及从 Vue 2 平滑迁移的老项目。
export default { data() { return { count: 0 } }, computed: { double() { return this.count * 2 } }, methods: { add() { this.count++ } }, mounted() { console.log('挂载完成,当前计数:' + this.count); } };