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

vue 中什么场景使用 export default 和setup()

在 Vue 3 中,export defaultsetup() 的使用场景主要取决于你采用的 组件开发模式(Options API 或 Composition API)。以下是具体场景和用法:


1. 使用 export default 的场景

场景 1:Options API 组件
  • 传统开发模式:如果你使用 Vue 2 风格的 Options API(基于对象配置),组件的所有逻辑都通过 datamethodscomputed 等选项定义。
  • 如何导出:直接导出一个包含这些选项的对象。
<!-- MyComponent.vue -->
<template>...</template>
<script>
export default {data() { return { count: 0 } },methods: { increment() { this.count++ } }
}
</script>

2. 使用 setup() 的场景

场景 1:Composition API 组件
  • 组合式开发模式:Vue 3 引入的 Composition API 允许你通过 setup() 函数组织逻辑,更适合复杂逻辑复用。
  • 如何导出
    • 如果使用标准的 <script>,需通过 export default 导出一个包含 setup() 的对象。
    • 如果使用 <script setup> 语法糖,则无需手动导出。
标准脚本写法
<script>
import { ref } from 'vue'export default {setup() {const count = ref(0)function increment() { count.value++ }return { count, increment }}
}
</script>
使用 <script setup>
<script setup>
import { ref } from 'vue'const count = ref(0)
function increment() { count.value++ }
</script>
  • 自动处理<script setup> 会隐式调用 setup() 并返回变量/方法,无需手动 export default

关键区别

Options APIComposition API<script setup>
逻辑组织分散在 data/methods/computed集中在 setup() 函数内直接在 <script setup> 中声明
导出方式export default 导出组件对象export default 导出含 setup() 的对象自动处理,无需手动导出
适合场景简单组件、快速原型复杂逻辑、代码复用简洁语法、中小型组件

什么时候选哪种?

  1. 优先 <script setup>

    • 新项目推荐使用,语法更简洁,减少样板代码。
    • 适合中小型组件,逻辑集中且易读。
  2. 使用 setup() + export default

    • 需要兼容 TypeScript 类型声明时(如组件参数校验)。
    • 需要显式返回值或访问 this 以外的特殊场景。
  3. 保留 Options API

    • 维护旧项目或团队习惯 Vue 2 风格时。
    • 组件非常简单,仅需少量响应式数据。

示例对比

Options API
<script>
export default {data() { return { msg: 'Hello' } },mounted() { console.log(this.msg) }
}
</script>
Composition API (标准写法)
<script>
import { ref, onMounted } from 'vue'export default {setup() {const msg = ref('Hello')onMounted(() => console.log(msg.value))return { msg }}
}
</script>
<script setup>
<script setup>
import { ref, onMounted } from 'vue'const msg = ref('Hello')
onMounted(() => console.log(msg.value))
</script>

总结

  • export default 是所有 Vue 组件的标准导出方式(除非使用 <script setup>)。
  • setup() 是 Composition API 的核心入口,搭配 export default 使用。
  • <script setup> 是语法糖,简化了 setup() 的书写和导出流程。
http://www.dtcms.com/a/295581.html

相关文章:

  • Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现卫星图像识别(C#代码,UI界面版)
  • [数据结构]#6 树
  • Apache Commons:Java开发者的瑞士军刀
  • 【C++】使用箱线图算法剔除数据样本中的异常值
  • n8n AI资讯聚合与分发自动化教程:从数据获取到微信与Notion集成
  • 环特生物荣获“广西科学技术进步二等奖”
  • C++ 协程
  • 移动端自动化Appium框架
  • Linux服务器安全自动化审计实战:一键扫描账户/网络/进程/计划任务风险(附开源脚本)
  • rna_seq_pipeline.py-python002
  • 同步时钟系统提升仓库自动化水平
  • 服务器启动日志等级
  • 锁定锁存器 | 原理 / 应用 / 时序
  • 无广告终端安全产品推荐:打造纯净办公环境的安全之选
  • 【Spring Cloud Gateway 实战系列】终极篇:演进方向与未来架构
  • Gitea——私有git服务器搭建教程
  • AWS云S3+Glue+EMRonEC2+ReadShift
  • RK3568笔记九十一:QT环境搭建
  • 2025创新杯(钉钉杯)数学建模 AB赛题已出
  • ESP32S3 Ubuntu vscode如何使用USB-JTAG调试
  • VR全景制作的流程?VR全景制作可以用在哪些领域?
  • 【算法】分治
  • Ubuntu 20.04 上安装 SPDK
  • RP2040关键汇编函数解释
  • 旧物回收小程序系统开发——开启绿色生活新篇章
  • 基于区块链的商品销售系统(fiscobcos)
  • 本地部署dify1.7.0流程-windows docker
  • [AI 生成] Flink 面试题
  • 企业ERP系统全模块深度解析:从基础管理到智能运营
  • 算法提升之字符串(字典树)