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

【Vue】<script setup>和 <script>区别是什么?在使用时的写法区别?

<script setup> 是 Vue 3 引入的一种新的脚本语法,它提供了一种更简洁和声明式的方式来编写组件逻辑。它是为了解决传统 <script> 标签在 Vue 单文件组件(SFC)中的一些局限性而设计的。

<script setup><script> 标签的主要区别:

<script setup> 的特点:

  1. 组合式 API<script setup> 强制使用组合式 API,这是 Vue 3 推荐的方式来组织组件逻辑。

  2. 更少的样板代码:不需要 export default 来暴露组件选项。

  3. 自动引入:在 <script setup> 中定义的变量、函数等会自动在模板中可用,无需使用 refreactive 显式声明响应式状态。

  4. 更好的类型推断:TypeScript 支持更直接,不需要额外的类型声明。

  5. 更清晰的逻辑复用:通过组合式 API,逻辑可以更容易地在组件之间复用。

<script> 的特点:

  1. 选项式 API:使用 <script> 标签时,你可以选择使用选项式 API 或组合式 API。

  2. 需要 export default:在 <script> 中,你需要使用 export default 来定义组件选项。

  3. 显式响应式声明:使用 refreactivecomputed 等函数显式声明响应式状态。

  4. 模板绑定:在模板中使用响应式状态时,需要通过 {{ }} 插值或 v-bind 来绑定。

使用时的写法区别:

使用 <script setup>

<script setup>
import { ref } from 'vue';const count = ref(0);function increment() {count.value++;
}
</script><template><button @click="increment">{{ count }}</button>
</template>

使用 <script>

<script>
import { ref } from 'vue';export default {setup() {const count = ref(0);function increment() {count.value++;}return { count, increment };},
};
</script><template><button @click="increment">{{ count }}</button>
</template>

<script setup> 中,countincrement 函数直接在模板中可用,而在 <script> 中,它们需要通过 return 语句从 setup 函数中返回,以便在模板中使用。

总的来说,<script setup> 提供了一种更现代、更简洁的方式来编写 Vue 组件,它鼓励使用组合式 API,并且减少了样板代码。随着 Vue 3 的普及,<script setup> 可能会成为编写 Vue 组件的主流方式。

http://www.lryc.cn/news/516794.html

相关文章:

  • 微服务框架,Http异步编程中,如何保证数据的最终一致性
  • vue3-dom-diff算法
  • 年会抽奖Html
  • ubuntu16 重启之后lvm信息丢失故障恢复
  • 【华为OD-E卷 - 热点网站统计 100分(python、java、c++、js、c)】
  • Ubuntu下安装Android Sdk
  • 【JVM】总结篇-类的加载篇之 类的加载器 和ClassLoader分析
  • 怎样修改el-table主题样式
  • MySQL(二)MySQL DDL数据库定义语言
  • Spring Boot 项目启动报 NoClassDefFoundError 异常的原因分析与解决方案 - jackson 版本不一致
  • 原型与原型链
  • 【Linux】信号处理
  • 5个不同类型的mysql数据库安装
  • python学习笔记—12—布尔类型、if语句
  • 分数阶傅里叶变换代码 MATLAB实现
  • 《数据结构》期末考试测试题【中】
  • openwrt 清缓存命令行
  • RP2K:一个面向细粒度图像的大规模零售商品数据集
  • .NET Core FluentAPI
  • 【C++数据结构——查找】顺序查找(头歌实践教学平台习题)【合集】
  • HTTP Scheme 通常指的是在 URL 中用于指定使用 HTTP 协议的方案(scheme)
  • 基于Matlab的变压器仿真模型建模方法(13):单相升压自耦变压器的等效电路和仿真模型
  • 【Vue.js】监听器功能(EventListener)的实际应用【合集】
  • 【Shell脚本】Docker构建Java项目,并自动停止原镜像容器,发布新版本
  • 【iOS Swift Moya 最新请求网络框架封装通用】
  • 前端批量下载文件
  • 【pytorch-lightning】架构一览
  • MongoDB相关使用问题
  • DevSecOps自动化在安全关键型软件开发中的实践、Helix QAC Klocwork等SAST工具应用
  • 常见的显示器分辨率及其对应的像素数量