当前位置: 首页 > news >正文

Vue3 中 <script setup> 场景下,需要手动导入和不需要手动导入的内容整理

以下是 Vue3 中 <script setup> 场景下,需要手动导入不需要手动导入的内容整理(按使用场景分类):

分类需要手动导入(必须 import不需要手动导入(直接使用)
响应式与状态- refreactive、computed(计算属性)
- watchwatchEffect(数据监听)
- 示例:import { ref, computed } from 'vue'
无(响应式 API 均需导入)
生命周期钩子- onMountedonUpdatedonUnmounted 等(组件生命周期)
- 示例:import { onMounted } from 'vue'
无(生命周期钩子均需导入)
组件与模板- 非组件的工具类(如 useSlotsuseAttrs 用于脚本中访问插槽/属性)
- 示例:import { useSlots } from 'vue'
- 导入的组件(直接在模板使用,无需注册)
示例:import Child from './Child.vue' 后直接用 <Child/>
编译器宏(核心)无(宏函数由编译器处理,无法导入)- defineProps(声明 props)
- defineEmits(声明事件)
- defineExpose(暴露组件内容)
- defineOptions(声明组件选项,Vue3.3+)
- defineModel(双向绑定简化,Vue3.4+)
示例:const props = defineProps({ title: String })
特殊语法与变量- nextTick(DOM 更新后执行)
- 工具函数(isRefunreftoRefs 等)
示例:import { nextTick, isRef } from 'vue'
- 顶层 await(直接使用,无需包裹 async
示例:const data = await fetch(...)
- 模板中直接使用 $attrs$slots(脚本中需通过 useAttrs/useSlots 导入)
示例:模板中 <div v-bind="$attrs"></div>
全局 API- createAppdefineComponentdefineAsyncComponent 等(通常在入口文件使用)
示例:import { createApp } from 'vue'
无(全局 API 均需导入)

关键说明:

  1. 编译器宏(defineXXX:是 <script setup> 专属语法,由 Vue 编译器直接解析,绝对不能导入(导入会报错)。
  2. 组件自动注册:仅在 <script setup> 中导入的组件有此特性,选项式 API 仍需手动注册到 components 选项中。
  3. 模板 vs 脚本$attrs$slots 在模板中可直接使用,但在 <script setup> 脚本中需通过 useAttrs()useSlots() 导入后访问。
  4. 版本兼容性defineOptions(3.3+)、defineModel(3.4+)是新增宏,低版本 Vue 不支持。
http://www.dtcms.com/a/328829.html

相关文章:

  • HarmonyOS Navigation路由跳转的完整示例
  • 【Qt开发】常用控件(三) -> geometry
  • 重生之我在公司写前端 | “博灵语音通知终端” | 登录页面
  • Swift 实战:从数据流到不重叠区间的高效转换
  • 《书写范式》——代码如诗,诗娟代码(Python)(附精巧“九九表”生成代码)
  • 《Linux基础知识-2》
  • 【2025】Datawhale AI夏令营-多模态RAG-Task3笔记-解决方案进阶
  • HGDB的分区表实现SQL Server的分区视图
  • 邀您参与 “直通乌镇” Spring AI Alibaba 开源竞技挑战赛!
  • 2025 最应避免的摄影陷阱以及解决方案
  • 八月补丁星期二:微软修复 111 个漏洞
  • String里常用的方法
  • Vue项目生产环境性能优化实战指南
  • 服务器查看 GPU 占用情况的方法
  • mac环境下安装git并配置密钥等
  • 搜索引擎核心机制解析
  • RabbitMQ面试精讲 Day 21:Spring AMQP核心组件详解
  • 详解Windows(二十)——恶意软件清除
  • CV 医学影像分类、分割、目标检测,之【腹腔多器官语义分割】项目拆解
  • 1.4.2 嵌入(embedding)模式:让人工智能大模型为你的产品或业务助力
  • 大模型微调【1】之入门
  • 实践基地授牌:重庆五一职院与成都影像产业园强实训
  • Coze Studio 概览(十)--文档处理详细分析
  • CW32L011电机开发板控制教程
  • C++ 面向对象四大特性:面试深度解析
  • 一个接口多个实现类,如何动态调用
  • 神经网络的核心组件解析:从理论到实践
  • ARM 实操 流水灯 按键控制 day53
  • Django REST Framework视图
  • HarmonyOS NDK的JavaScript/TypeScript与C++交互机制