通俗易懂解释 Vue2 与 Vue3 Options API 与 Composition API 的区别
一、前言Vue 的两种“写法”Options API选项式 API像写填空题把数据、方法、计算属性等分别填到对应的“格子”里。Composition API组合式 API像搭积木把相关的功能逻辑组合在一起更灵活。Vue2 主要使用 Options APIVue3 则同时支持两种但更推荐 Composition API。下面我们用生活中的例子来理解它们的区别。二、Options API按“部门”分工的办公室想象一个公司Options API 就像传统的部门划分export default { // 数据部存放所有数据 data() { return { count: 0, message: Hello } }, // 方法部存放所有方法 methods: { increment() { this.count }, showMessage() { alert(this.message) } }, // 计算属性部存放计算属性 computed: { doubleCount() { return this.count * 2 } }, // 生命周期部组件创建、更新等 mounted() { console.log(组件加载完成) } }特点结构清晰像公司的组织结构图每个“部门”data、methods、computed等职责明确入门简单新手容易理解知道数据放哪里、方法放哪里代码分散一个完整功能可能被拆分到多个“部门”三、Composition API按“项目”组队的创业公司现在想象一个创业公司大家按项目组队import { ref, computed, onMounted } from vue export default { setup() { // 计数器功能一个完整的“项目组” const count ref(0) const doubleCount computed(() count.value * 2) const increment () { count.value } // 消息功能另一个“项目组” const message ref(Hello) const showMessage () { alert(message.value) } // 生命周期 onMounted(() { console.log(组件加载完成) }) // 把功能“打包”返回 return { count, doubleCount, increment, message, showMessage } } }特点逻辑聚合相关代码放在一起像一个完整的“功能包”复用方便可以把功能逻辑提取成独立的函数多处复用类型友好TypeScript 支持更好四、直观对比点餐 vs 自助餐对比维度Options API点餐Composition API自助餐组织方式按类型分类前菜、主菜、甜点分开按功能组合一个套餐包含所有代码复用通过 mixins可能冲突通过组合函数清晰独立阅读体验上下跳转找完整功能要翻页线性阅读一个功能从头看到尾适合场景简单组件、新手学习复杂组件、大型项目、团队协作五、实际例子用户管理功能假设我们要实现一个用户管理功能包含用户列表和搜索Options API 写法export default { data() { return { users: [], // 用户列表数据 searchText: // 搜索关键词 } }, computed: { // 过滤后的用户在 computed 中 filteredUsers() { return this.users.filter(user user.name.includes(this.searchText) ) } }, methods: { // 获取用户数据在 methods 中 async fetchUsers() { this.users await api.getUsers() } }, mounted() { // 初始化在生命周期中 this.fetchUsers() } }问题用户管理功能被拆成了三部分Composition API 写法import { ref, computed, onMounted } from vue // 可以把用户管理逻辑提取成独立函数 function useUserManagement() { const users ref([]) const searchText ref() const filteredUsers computed(() users.value.filter(user user.name.includes(searchText.value) ) ) const fetchUsers async () { users.value await api.getUsers() } onMounted(fetchUsers) return { users, searchText, filteredUsers, fetchUsers } } export default { setup() { const { users, searchText, filteredUsers, fetchUsers } useUserManagement() return { users, searchText, filteredUsers, fetchUsers } } }六、小结Options API 像“分科教学”语文课只教语文数学课只教数学优点是结构清晰缺点是学一个完整项目要跑多个教室Vue2 主要用这种方式Composition API 像“项目式学习”做一个“校园小卖部”项目需要同时用到数学、语文、美术所有相关知识围绕一个目标组织Vue3 推荐这种方式特别适合复杂项目

相关新闻

制造业扫码领料方案:从MES/WMS联动到效率提升实战

制造业扫码领料方案:从MES/WMS联动到效率提升实战

1. 为什么我们需要"扫码即走"的物料领用方案在制造业和仓储物流领域,物料领用环节一直是个效率黑洞。传统模式下,工人需要先填写纸质领料单,然后找主管签字审批,最后才能到仓库排队领取物料。整个过程平均耗时15-30分钟…

2026/11/9 8:57:49 阅读更多 →
51单片机AD/DA转换与SPI通信实战:从原理到项目避坑指南

51单片机AD/DA转换与SPI通信实战:从原理到项目避坑指南

1. 从现实世界到数字世界:为什么AD/DA是单片机的“感官”与“喉舌”玩51单片机,我们最常打交道的是数字信号:点亮一个LED,就是给P1口某个引脚一个高电平或低电平;读取一个按键,就是判断某个IO口是1还是0。这…

2026/11/9 11:09:18 阅读更多 →
日本vs欧美彩妆榜单选购指南:从理念差异到实测方法

日本vs欧美彩妆榜单选购指南:从理念差异到实测方法

1. 先搞清楚这场对比到底在比什么看到“日本vs欧美彩妆大赏”这个标题,很多人第一反应可能是“哪个国家的化妆品更好”。但实际对比的核心不是国家优劣,而是两种完全不同的彩妆理念和适用场景。日本cosme大赏更多反映的是本地消费者的真实使用反馈和回购…

2026/10/25 10:42:38 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/10 23:32:01 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/10 23:32:03 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/11 2:31:33 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/11 17:16:37 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/11 17:16:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/10 23:32:10 阅读更多 →

日新闻

周新闻

月新闻