setup() 函数与语法糖
文章目录一、先一句话总纲二、先讲最原始的setup() 函数三、再讲现在主流script setup四、两者功能对比最关键五、最核心区别背这一段就够六、你能立刻记住的超级口诀七、我再用最通俗的话总结一遍八、注册components不能写在setup函数里一、先一句话总纲-setup()Vue3 原来的原始写法手动挡要写return麻烦。javascript-script setup官方给的语法糖简写版自动挡不用return代码更少现在全都用这个。二、先讲最原始的setup() 函数你就把它理解成组件的入口函数比 beforeCreate 还早执行。里面没有 thisthis undefined不能用 this.$refs、this.message 之类。接收两个参数jssetup(props,context){}props父组件传过来的值响应式但不能改context里面有 emit、attrs、slots必须 return你在 setup 里定义的变量、方法不 return模板就看不见jssetup(){constcountref(0)return{count}// 不 return 模板用不了}缺点麻烦、啰嗦、要写一堆重复代码。三、再讲现在主流它就是Vue 帮你自动把代码塞进 setup() 里还自动 return。不用写 return你定义啥模板直接用vuescript setupconstcountref(0)/scripttemplate{{count}}!--直接用不用return--/template导入组件就能用jsimportChildfrom./Child.vue直接在模板用 不用注册原始写法还要jsexportdefault{components:{Child}}script setup 全都省了。四、两者功能对比最关键1.接收 props 原始 setup jsexportdefault{props:[title],setup(props){console.log(props.title)}}script setup jsconstpropsdefineProps({title:String})2.触发事件 emit原始 setup jssetup(props,{emit}){emit(my-event)}script setup jsconstemitdefineEmits([my-event])emit(my-event)3.获取 attrs、slots 原始 setup 用 context jssetup(props,{attrs,slots})script setup 用API jsimport{useAttrs,useSlots}fromvueconstattrsuseAttrs()constslotsuseSlots()五、最核心区别背这一段就够setup()手动写手动 return要写 export default、components代码多适合老项目、复杂控制不用 return导入组件直接用用 defineProps / defineEmits现在官方推荐、所有人都用这个六、你能立刻记住的超级口诀原始 setup手动挡要 return麻烦。script setup自动挡不用 return简洁好用。功能一模一样只是写法不一样。现在开发全都用 script setup。七、我再用最通俗的话总结一遍-setup()是基础版本什么都要自己写-script setup是懒人舒适版Vue 帮你把重复的事全干了。-它们底层跑起来是一样的。-你以后写 Vue3直接用script setup就对了八、注册components不能写在setup函数里先看注册componentsVue 知道我能用哪些组件叫什么名字。再解析模板看到 去表里查有这个名字认识。最后才执行 setup去运行子组件自己的逻辑生成数据、渲染内容。

相关新闻

【Docker基础篇】从0到1写Dockerfile:FROM/COPY/CMD/ENTRYPOINT指令详解+Hello World实战

【Docker基础篇】从0到1写Dockerfile:FROM/COPY/CMD/ENTRYPOINT指令详解+Hello World实战

🍃 予枫:个人主页📚 个人专栏: 《Java 从入门到起飞》《读研码农的干货日常》💻 Debug 这个世界,Return 更好的自己! 引言:作为Docker容器化的核心,Dockerfile是构建自定义镜像的“说…

2026/7/3 10:31:34 阅读更多 →
基于深度学习YOLOv12的玉米幼苗杂草识别检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)

基于深度学习YOLOv12的玉米幼苗杂草识别检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)

一、项目介绍 本文设计并实现了一种基于深度学习YOLOv12的玉米幼苗与杂草检测系统,针对农业场景中的精准除草需求,实现了高效的目标检测与分类。系统以YOLOv12为核心算法,构建了包含2类目标("weed"杂草和"cron&qu…

2026/5/17 4:23:48 阅读更多 →
基于深度学习YOLOv12的PCB电路板缺陷检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)

基于深度学习YOLOv12的PCB电路板缺陷检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)

一、项目介绍 本文设计并实现了一种基于深度学习YOLOv12算法的PCB电路板缺陷检测系统,旨在自动化识别六类常见缺陷,包括漏孔(missing_hole)、鼠咬(mouse_bite)、开路(open_circuit)…

2026/5/17 4:23:46 阅读更多 →

最新新闻

Java实战:解析Navicat连接加密机制与密码恢复

Java实战:解析Navicat连接加密机制与密码恢复

1. 项目概述:为什么我们需要关注Navicat的连接加密作为一名常年和数据库打交道的Java开发者,Navicat几乎是工具箱里的标配。它图形化的界面、便捷的数据操作和连接管理,极大地提升了我们的工作效率。但不知道你有没有遇到过这样的场景&#x…

2026/7/5 8:14:18 阅读更多 →
Mac安装IDA Pro全攻略:解决安全警告、架构兼容与Python配置

Mac安装IDA Pro全攻略:解决安全警告、架构兼容与Python配置

1. 项目概述:为什么IDA Pro在Mac上的下载与安装会成为一道坎?如果你是一名安全研究员、逆向工程师,或者是对软件底层运行机制充满好奇的开发者,那么IDA Pro这个名字对你来说一定如雷贯耳。它被誉为逆向工程领域的“瑞士军刀”&…

2026/7/5 8:10:18 阅读更多 →
openEuler-lsb入门教程:10分钟快速搭建LSB兼容环境

openEuler-lsb入门教程:10分钟快速搭建LSB兼容环境

openEuler-lsb入门教程:10分钟快速搭建LSB兼容环境 【免费下载链接】openEuler-lsb LSB support for linux Standard Base specification 项目地址: https://gitcode.com/openeuler/openEuler-lsb 前往项目官网免费下载:https://ar.openeuler.org…

2026/7/5 8:10:18 阅读更多 →
10分钟学会OpenEuler bridge-utils:新手必备网络桥接配置技巧

10分钟学会OpenEuler bridge-utils:新手必备网络桥接配置技巧

10分钟学会OpenEuler bridge-utils:新手必备网络桥接配置技巧 【免费下载链接】bridge-utils Utilities for configuring the linux ethernet bridge 项目地址: https://gitcode.com/openeuler/bridge-utils 前往项目官网免费下载:https://ar.ope…

2026/7/5 8:08:17 阅读更多 →
超实用!内网/交换机/路由器/无线运维排障干货大全

超实用!内网/交换机/路由器/无线运维排障干货大全

🌟 一、网络排障黄金流程(核心必记)所有网络故障排查遵循由近到远原则,适配80%办公网络问题,一步快速定位故障点!排查顺序:本地网卡 → 网线/墙面网口面板 → 交换机端口 → 网关 → 外网万能排…

2026/7/5 8:08:17 阅读更多 →
NVIDIA Profile Inspector深度探索:解锁显卡隐藏性能的7个实战技巧

NVIDIA Profile Inspector深度探索:解锁显卡隐藏性能的7个实战技巧

NVIDIA Profile Inspector深度探索:解锁显卡隐藏性能的7个实战技巧 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector NVIDIA Profile Inspector是一款能够深入访问NVIDIA驱动内部数据库的工具…

2026/7/5 8:08:17 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻