Vue3 中setup()和<script setup><script>

2023-05-16

setup()方法

在组件创建之前执行,是组合式 API 的入口
方法可以接受两个参数 props 和 context

setup方法中,要将数据暴露给页面模板,需要结合ref,和reactive,并使用return
官网例子:

<!-- MyBook.vue -->
<template>
  <div>{{ readersNumber }} {{ book.title }}</div>
</template>

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

  export default {
    setup() {
      const readersNumber = ref(0)
      const book = reactive({ title: 'Vue 3 Guide' })

      // 暴露给模板
      return {
        readersNumber,
        book
      }
    }
  }
</script>

setup中的生命周期,使用时需要导入
官网例子:

import { onMounted, onUpdated, onUnmounted } from 'vue'

export default {
  setup() {
    onMounted(() => {
      console.log('mounted!')
    })
    onUpdated(() => {
      console.log('updated!')
    })
    onUnmounted(() => {
      console.log('unmounted!')
    })
  }
}

其中 beforeCreatecreated 直接写在setup中,官网没有例子

  setup() {
    function fun () {
		console.log("执行!");
	}
	fun();//"执行!"
  }
}

setup标签

使用时要注意vue3版本,好像是3.2开始支持
基本用法,直接在script标签上增加setup

<script setup>
	console.log('hello script setup')
</script>

数据在页面模板上使用无需 return

<script setup>
import { ref } from 'vue';

// 变量
const msg = ref('Hello!');//响应式数据依然需要ref

// 函数
function log() {
  console.log(msg);
}
</script>

<template>
  <div @click="log">{{ msg }}</div>
</template>

关于组件
引入后直接使用,不需要花里胡哨
官网还有更多关于组件花里胡哨的用法,详见使用组件

<script setup>
import MyComponent from './MyComponent.vue'
</script>

<template>
  <MyComponent />
</template>

顶层await
官网解释:
<script setup> 中可以使用顶层 await。结果代码会被编译成async setup()

<script setup>
	const post = await fetch(`/api/post/1`).then(r => r.json())
</script>

就是在上面使用了await,setup就会变成 async setup()

最后
在这里插入图片描述
意思就是,script标签上的 setup 不能和 script标签上的src一起使用(没人会这么干吧应该)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue3 中setup()和<script setup><script> 的相关文章

随机推荐

  • Week5 作业D - 滑动窗口[POJ - 2823]

    题目大意 输入 输出 基本思路 这个题的数据规模较大 xff0c k和n最大可以达到1e6 xff0c 因此如果我们暴力判断所有区间 窗口内元素的范围 中的最大值和最小值一定会超时 复杂度 O n 2
  • Week6限时大模拟 A - 掌握魔法の东东 II [Gym - 270437J]

    原题链接 https vjudge net problem Gym 270437J origin 题意 基本思路 本题数据规模不大 xff0c A B 100 A B 100
  • Clion环境下C++调用Python

    前提条件 已经安装好python环境 我使用的是Anaconda3 xff0c Python版本是3 7 安装好Clion 我使用的是CLion 2019 2 5 可能需要配置环境变量 我之前已经将python相关的环境变量配置好了 xff
  • Week13 作业A - TT 的神秘任务1[CodeForces - 1352B]

    题目描述 给定两个正整数n xff0c k xff0c 要求给出 k 个奇偶性相同的正整数 xff0c 使得其和等于 n 输入 第一行一个整数 T xff0c 表示数据组数 xff0c 不超过 1000 之后 T 行 xff0c 每一行给出
  • Week13 作业B - TT 的神秘任务2[CodeForces - 1352C]

    题目描述 给定两个整数n xff0c k xff0c 要求给出无法被n整除的第k个正整数 输入 第一行一个整数 T xff0c 表示数据组数 xff0c 不超过 1000 之后 T 行 xff0c 每一行给出两个正整数 xff0c 分别表示
  • CSP 201809-3 元素选择器(C++)

    题目描述 基本思路 过程及结构 问题解决方法过程及结构如下图所示 其中 xff0c read负责读取层叠样式信息 xff0c read query负责读取查询信息 读取一条处理一条 xff0c query负责处理一条查询信息 xff0c q
  • Week9 作业B - 东东学打牌 [计蒜客 - 41408]

    原题链接 https nanti jisuanke com t 41408 题目描述 基本思路 本题的关键问题在于玩家的排序 xff0c 首先根据手牌情况进行排序 xff0c 若手牌相同 xff0c 则根据name进行排序 为了更加方便的进
  • Week12作业 C -必做题 - 3 [HDU - 1024]

    题目链接 https vjudge net problem HDU 1024 题目描述 n个数的序列a xff0c 从中选取m个互不相交的闭区间 xff0c 使这些区间中的数的和最大 xff0c 输出最大和 1 i n 1e6 32768
  • 实验与分析 —— numpy.vectorize

    函数功能 numpy vectorize函数可以实现任意函数的向量化 xff0c 从而避免在python中使用循环 xff0c 提高效率 还真不一定能提高效率 另外 xff0c 用好函数的signature参数 xff0c 可以让本来就是处
  • nist sp 800-90(A|B|C) series RNG三部曲

    随机数生成器 熵源 随机比特生成器构造 一个公共的随机数信标 randomness beacon NIST Special Publication 800 90A Recommendation for Random Number Gener
  • [LeetCode 1765] 地图中的最高点

    文章目录 题目链接题目描述用例提示思路代码 题目链接 https leetcode cn com problems map of highest peak 题目描述 给你一个大小为m x n的整数矩阵isWater xff0c 它代表了一个
  • [LeetCode 1763] 最长的美好子字符串 [参考]

    文章目录 题目链接题目描述示例1示例2示例3示例4提示题解1题解2题解3 参考自官方题解 这是简单题 xff1f xff1f xff1f 数据规模后边加3个0直接玩完 题目链接 https leetcode cn com problems
  • 直方图均衡化原理推导

    问题描述 对于服从任意分布的连续型随机变量 R 0 R 1
  • 给吃饭嘎嘎香的李峋爱心代码

    span class token keyword import span random span class token keyword from span math span class token keyword import span
  • Linux服务器启动jar包报启动main类ClassNotFoundException

    Linux服务器启动jar包报启动main类启动异常 今天部署文件时遇到了启动异常报错 xff0c 在网上找了好久没发现我要的答案 xff0c 没办法只能自己找一下问题了 事件回顾 和往常一样打了个jar包就往服务器上扔 xff0c 启动时
  • sql中json数据的提取保存

    sql中json数据的提取保存 文章目录 sql中json数据的提取保存1 需求描述2 数据构建3 Json类型数据的提取令存3 1 代码分析3 2 结果呈现 4 jsonselect Onecount4 1 单key值需求4 2 代码编辑
  • pytorch DataLoader处理不定长序列

    本篇博客的目的是 xff1a 将下图这样的输入 xff08 每个tensor表示一个句子 xff0c 01为句子标签 xff09 xff1a 转化为下图所示的输出 xff08 batch size 61 2 xff09 元组的第一个元素为填
  • 《统计学习方法》之最大熵模型代码实现

    原理这里就不赘述了 见参考链接4 说一些自己学习时困惑的地方 xff0c 如果有不对的地方 xff0c 还望各位评论指正 下面从w的求解开始说起 xff0c 下面是模型的对数似然函数 xff1a w
  • NLP实践项目二:基于RNN、CNN的文本多分类(pytorch实现)

    直接看代码 xff1a github传送门 数据集 xff1a Classify the sentiment of sentences from the Rotten Tomatoes dataset 1 数据预处理 本项目实现了两种数据预
  • Vue3 中setup()和<script setup><script>

    setup 方法 在组件创建之前执行 xff0c 是组合式 API 的入口 方法可以接受两个参数 props 和 context setup方法中 xff0c 要将数据暴露给页面模板 xff0c 需要结合ref 和reactive xff0