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

Vue3,将普通的组合式API转换为<script setup>形式

在Vue 3中,<script setup> 是一种更简洁的方式来编写组合式API。它允许你在单文件组件(SFC)中直接使用组合式API,而无需显式地定义 setup函数。这种方式减少了样板代码,使得组件更加简洁易读。

下面是如何将普通的组合式API转换为<script setup>形式的示例:

原始的组合式API

假设我们有以下使用组合式API的组件:

<template>
  <div>
    <p>{{ message }}</p>
    <p>{{ reversedMessage }}</p>
    <button ="increment">Count is: {{ state.count }}</button>
  </div>
</template>

<script>
import { ref, reactive, computed } from 'vue'

export default {
  setup() {
    const message = ref('Hello Vue!')
    const state = reactive({ count: 0 })

    const reversedMessage = computed(() => {
      return message.value.split('').reverse().join('')
    })

    function increment() {
      state.count++
    }

    return {
      message,
      reversedMessage,
      state,
      increment
    }
  }
}
</script>

转换为 <script setup>

使用<script setup>后,组件可以简化如下:

<template>
  <div>
    <p>{{ message }}</p>
    <p>{{ reversedMessage }}</p>
    <button ="increment">Count is: {{ state.count }}</button>
  </div>
</template>

<script setup>
import { ref, reactive, computed } from 'vue'

const message = ref('Hello Vue!')
const state = reactive({ count: 0 })

const reversedMessage = computed(() => {
  return message.value.split('').reverse().join('')
})

function increment() {
  state.count++
}
</script>

关键点说明:

  • 去除 export default 和 setup 函数:
    <script setup>中,不需要显式地定义export default或setup函数。
    直接在<script setup>标签内编写你的组合式API代码。
  • 自动暴露:
    <script setup>中定义的所有顶级绑定(包括变量、函数等)都会自动暴露给模板,无需通过return语句。
  • 导入依赖:
    仍然需要导入Vue的响应式工具,如ref、reactive、computed等。
  • 保持逻辑清晰:
    尽管

http://www.kler.cn/a/403621.html

相关文章:

  • 树莓派开发扩展十二 -C#编写客户端控制小车 Xamarin.Forms
  • -bash: ./kafka-topics.sh: No such file or directory--解决方案
  • unittest和pytest
  • 摄像机ISP和DSP的区别?
  • PostgreSQL 单机与集群部署详细教程
  • 基于YOLOv8深度学习的医学影像肝脏肿瘤病症检测与诊断系统(PyQt5界面+数据集+训练代码)
  • HarmonyOS4+NEXT星河版入门与项目实战------Button组件
  • centos7 如何卸载和安装达梦数据库实例
  • Java项目实战II基于Spring Boot的社区医疗综合服务平台的设计与实现(开发文档+数据库+源码)
  • PostgreSQL TRUNCATE TABLE
  • 自然语言处理(NLP):让机器理解人类语言
  • 【模块一】kubernetes容器编排进阶实战资源对象之Configmap与Secret简介
  • 3、PyTorch张量的运算API(下)
  • .NET SDK 各操作系统开发环境搭建
  • 爬虫优化策略优化请求逻辑
  • i春秋-GetFlag(md5加密,字符串比较绕过)
  • 基于单片机的婴儿监测系统设计
  • 淘宝 NPM 镜像源
  • 【AI系统】AI 发展驱动力
  • cocoscreator-doc-TS-脚本开发-模块化脚本