script setup - 简介

先来看一看官网关于 <script setup> 的介绍:

要彻底的了解 setup 语法糖,你必须先明确 setup() 这个 组合式API

官网中对于这一api的介绍是—— 在 setup() 函数中返回的对象会暴露给模板和组件实例。其它的选项也可以通过组件实例来获取 setup() 暴露的属性

1.没有在 <script> 标签后添加 setup 时,你在声明/初始化 响应式 变量或者函数时,每一个都需要在 setup() 的return中进行返回,像这样:

<script>
import { ref } from 'vue' export default {
setup() {
const count = ref(0) // 返回值会暴露给模板和其他的选项式 API 钩子
return {
count
}
}
}
</script>

当你选择<script setup>语法糖时,即可免去这一恶心的操作

like this:

<template>
<!-- 组件自动注册 -->
<Child />
<!-- 变量自动注册 -->
{{count}}
</template> <script setup>
// 注册的组件、变量、函数、方法示例直接暴露给模板
import Child from './Child.vue'
// 直接定义 count 无需返回
const count = ref(0)
</script>

2.组件核心 API 直接可以使用

类似 props 、 emits 、 slotsattrs

props : 通过defineProps指定当前 props 类型,获得上下文的props对象,一般用来定义组件的属性

<script setup>
import { defineProps } from 'vue' const props = defineProps({
title: String,
})
</script>

父子组件传值的时候用到的 emits

使用defineEmit定义当前组件含有的事件,并通过返回的上下文去执行 emit

<script setup>
import { defineEmits } from 'vue' const emit = defineEmits(['change', 'delete'])
</script>

小结

在以往的写法中,包括在vue2.0,定义数据和方法,都需要在结尾 return 出去,在能在dom模板中使用。而vue3.0新增的<script setup> 写法中,定义的属性和方法直接暴露给模板和示例组件而省去返回的环节,可以直接使用。

-- 希望本文可以帮助到你 2023年1月12日 --

【Vue3.0】关于 script setup 语法糖的用法的更多相关文章

  1. vue3 学习笔记(九)——script setup 语法糖用了才知道有多爽

    刚开始使用 script setup 语法糖的时候,编辑器会提示这是一个实验属性,要使用的话,需要固定 vue 版本. 在 6 月底,该提案被正式定稿,在 v3.1.3 的版本上,继续使用但仍会有实验 ...

  2. Vue3.2中的setup语法糖,保证你看的明明白白!

    vue3.2 到底更新了什么? 根据原文内容的更新的内容主要有以下 5 块: 1.SSR:服务端渲染优化.@vue/server-renderer包加了一个ES模块创建, 与Node.js解耦,使在非 ...

  3. 基于SqlSugar的开发框架循序渐进介绍(11)-- 使用TypeScript和Vue3的Setup语法糖编写页面和组件的总结

    随着Vue3和TypeScript的大浪潮不断袭来,越来越多的Vue项目采用了TypeScript的语法来编写代码,而Vue3的JS中的Setup语法糖也越来越广泛的使用,给我们这些以前用弱类型的JS ...

  4. vue3.0+ts+setup语法糖props写法

    写法一 import defaultImg from '@/assets/images/defaultImg.png' const props = defineProps({ src: { type: ...

  5. Vue3中setup语法糖学习

    目录 1,前言 2,基本语法 2,响应式 3,组件使用 3.1,动态组件 3.2,递归组件 4,自定义指令 5,props 5.1,TypeScript支持 6,emit 6.1,TypeScript ...

  6. Vue3.0工程创建 && setup、ref、reactive函数 && Vue3.0响应式实现原理

    1 # 一.创建Vue3.0工程 2 # 1.使用vue-cli创建 3 # 官方文档: https://cli.vuejs.org/zh/guide/creating-a-project.html# ...

  7. C#7.0新特性和语法糖详解

    转自IT之家网--DotNet码农:https://www.ithome.com/html/win10/305148.htm 伴随Visual Studio 2017的发布,C#7.0开始正式走上工作 ...

  8. Razor 语法糖常规用法

    1.隐匿代码表达式 例: @model.name 会将表达式的值计算并写入到响应中,输入时采用html编码方式 2.显示表达式 例:@(model.name)会将输入@model.name字符串 3. ...

  9. Vue3 Composition API写烦了,试试新语法糖吧—setup script

    前言 Vue3发布近一年了,相信大家对Vue3的新特性,新语法都很熟悉了.那么在使用Composition API的过程中,有没有觉得整个过程比较繁琐.比如你的模板里用到了大量的state和方法的时候 ...

  10. vue3 script setup 定稿

    vue script setup 已经官宣定稿.本文主要翻译了来自 0040-script-setup 的内容. 摘要 在单文件组件(SFC)中引入一个新的 <script> 类型 set ...

随机推荐

  1. golang中的锁竞争问题

    索引:https://www.waterflow.link/articles/1666884810643 当我们打印错误的时候使用锁可能会带来意想不到的结果. 我们看下面的例子: package ma ...

  2. C#--@符号的使用(逐字字符串,跨行,声明关键字变量名)

    ---对字符串的使用 @可以定义逐字字符串 注意:@只对字符串常量有用 1)不需要用\\来转义非转义符号的\号   例如:@"\"="\\"2)可以实现多行字符 ...

  3. 十七、Job与Cronjob

    Job 与 Cronjob 一.Job ​Job 负责批处理任务,即仅执行一次的任务,它保证批处理任务的一个或多个 Pod 成功结束. 特殊说明: 1.spec.template 格式同 Pod ​2 ...

  4. Aspose.Cell篇章3,设置写入到Excel文件的各种样式及输出

    Aspose.Cell的Style.Number设置全部设置 /// <summary> /// 单元格样式编号 /// 0 General General /// 1 Decimal 0 ...

  5. Java安全之Resin2内存马

    Java安全之Resin2内存马 环境 resin2.1.17 添加Filter分析 依然是web.xml注册一个filter,debug进去看注册流程 debug dofilter逻辑时看到如下代码 ...

  6. Pwn学习随笔

    Pwn题做题流程 使用checksec检查ELF文件保护开启的状态 IDApro逆向分析程序漏洞(逻辑复杂的可以使用动态调试) 编写python的exp脚本进行攻击 (若攻击不成功)进行GDB动态调试 ...

  7. IIS 配置集中式证书模块实现网站自动绑定证书文件

    在 Windows 环境下如果采用 IIS 作为 网站服务器时,常规的网站绑定 HTTPS 需要一个一个站点手动选择对应的证书绑定,而且证书过期之后更换证书时也是需要一个个重新绑定操作,无法便捷的做到 ...

  8. leetcode学习记录2.13

    [13] 罗马数字转整数 import java.util.HashMap; import java.util.Map; /* * * [13] 罗马数字转整数 * * https://leetcod ...

  9. windows server2016/2019在vmware上安装失败

    问题:无法进入装机界面 现象一:打开虚拟机后进入虚拟bios界面,无法引导iso镜像 解决方法1:从虚拟机设置里,修改引导选项,如果需要修改启动盘则设置强制执行BIOS设置 下图为vsphere的截图 ...

  10. CSP 记

    csp 开考建好文件夹编译器不能用搞了半天换了台电脑 四道题看完一个小时过去了 第一题不会正解写了部分分还有点悬 第二题写暴力因为一个小错误调了半天 看时间不多了已经有点慌了 也没想正解直接开了下一题 ...