通俗易懂解释 Vue2 与 Vue3 Options API 与 Composition API 的区别
📅 2026/7/31 3:22:21
👁️ 次浏览
一、前言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 推荐这种方式特别适合复杂项目
1. 为什么我们需要"扫码即走"的物料领用方案在制造业和仓储物流领域,物料领用环节一直是个效率黑洞。传统模式下,工人需要先填写纸质领料单,然后找主管签字审批,最后才能到仓库排队领取物料。整个过程平均耗时15-30分钟…
📅 2026/7/31 3:22:21
1. 从现实世界到数字世界:为什么AD/DA是单片机的“感官”与“喉舌”玩51单片机,我们最常打交道的是数字信号:点亮一个LED,就是给P1口某个引脚一个高电平或低电平;读取一个按键,就是判断某个IO口是1还是0。这…
📅 2026/7/31 3:22:21
做岩土设计的兄弟都知道,平时旱季边坡稳如老狗,一到暴雨季就让人心惊肉跳。这篇内容直接教你如何用GEO5搞定暴雨工况下的边坡稳定分析,避开那些让计算结果偏差巨大的隐形陷阱,让你的报告经得起甲方和审图专家的推敲。记得去年在南方做一个高填方路基项目,当时为了赶工期,…
📅 2026/7/31 3:21:38
随着 AI 计算摄影、实时HDR及高速连拍成为数码相机的核心功能,内部电源架构面临挑战:瞬时功耗大、空间受限、热管理要求高。微碧半导体(VBsemi)基于先进的Trench及SGT工艺,为您提供覆盖镜头驱动、电源管理、闪光灯控制…
📅 2026/7/31 5:20:47
踩坑无数整理!Linux 源码编译|私有YUM仓库|定时任务|进程调度 全套实操指南
本文基于 CentOS7 环境,完整记录 软件源码安装、自建YUM私有仓库、一次性/周期性计划任务、Linux进程调度与优先级管理 全套实操命令与原理…
📅 2026/7/31 5:20:47
AI排名实时快报:竞品动态分析繁淼信息——企业AI可见度综合健康度仅为59.6/100,竞争力57.5/100,可信度31.2/100。本报告基于多引擎数据,深度解析竞品真实提及量与空白查询率,为企业提供排名优化策略。市场格局…
📅 2026/7/31 5:20:47
1. 项目概述:当你的电脑成为“矿工”你可能遇到过这样的情况:电脑风扇突然狂转,CPU占用率莫名其妙冲到100%,但任务管理器里又找不到哪个程序在“作妖”。或者,电脑变得异常卡顿,打开个文档都要等半天&#…
📅 2026/7/31 5:20:47
为什么不自己买云服务器?首先,当然是不想花钱。而且自己部署云服务器还得考虑安全等因素,运维起来也挺麻烦和耗精力的。
我自己对 UI 设计天然不擅长,网站需要长什么样其实没有概念。同时又不想花太多时间去开发网站,…
📅 2026/7/31 5:20:47
ap_ctrl_none 是 AMD/Xilinx Vitis/Vivado HLS 生态中的块级控制协议(Block-Level Control Protocol),表示该硬件模块为**“自由运行”(Free-Running)**模式——一旦 FPGA 加载完成,模块即刻自主运转&#…
📅 2026/7/31 5:19:47
数据库复制是把主库数据同步到备库的机制,分为逻辑复制和物理复制两种。逻辑复制传输的是 SQL 语句或行变更事件,物理复制传输的是存储引擎底层的物理日志。阿里云 PolarDB(云原生数据库)采用物理复制,在同步延迟、数据…
📅 2026/7/31 0:00:23
BilibiliDown:3分钟学会B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…
📅 2026/7/31 0:00:23
当前,游戏行业的“DataAI融合”已从概念验证进入价值落地阶段。根据IDC 2025年数据,中国AI游戏云市场规模已达18.6亿元;同时,游戏研发环节AI渗透率高达86%,生成式AI内容普及率超过50%。面对庞大的市场,游戏…
📅 2026/7/31 0:00:23
更多请点击:
https://codechina.net
第一章:AI帮助理解数学概念 人工智能正以前所未有的方式重塑数学学习的路径。通过自然语言处理与符号计算的深度融合,AI不仅能解析抽象定义,还能将定理、证明和几何直觉转化为可交互、可验证的…
📅 2026/7/31 1:18:08
1. 项目背景与核心价值去年参与的一个短剧项目让我深刻体会到传统创作流程的痛点:编剧团队花了三周打磨剧本,角色设计反复修改了七版,最后成片时又因为演员档期问题不得不临时调整分镜。这种低效的创作模式在快节奏的内容行业越来越难以为继。…
📅 2026/7/31 1:18:08
remix-i18next TypeScript类型安全实践:确保翻译键与类型定义同步 【免费下载链接】remix-i18next The easiest way to translate your React Router framework mode apps 项目地址: https://gitcode.com/gh_mirrors/re/remix-i18next
在开发多语言应用时&am…
📅 2026/7/31 1:18:08
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/30 7:16:27
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/30 17:17:14
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/31 5:18:28