[Vue3核心语法] setup语法糖

一、setup 概述

setupVue3中一个新的配置项,值是一个函数,它是 Composition API "表演的舞台 " ,组件中所用到的:数据、方法、计算属性、监视......等等,均配置在setup中。

特点:

  • setup函数返回的对象中的内容,可直接在模板中使用。

  • setup中访问thisundefined。 不要用this了

  • setup函数会在beforeCreate之前调用,它是"领先"所有钩子执行的。

注意:

  • vue3可以跟vue2共存,vue2可以获取vue3的数据,反之不行 尽量不要两者都用

  • Vue2 的配置(datamethos......)中可以访问到 setup中的属性、方法。

  • 但在setup不能访问到 Vue2的配置(datamethos......)。

  • 如果与Vue2冲突,则setup优先。

二、setup 语法糖

setup函数有一个语法糖,这个语法糖,可以让我们把setup独立出去,代码如下:

<!-- 下面的写法是setup语法糖 -->
<script setup lang="ts" name="Person">
  console.log(this) //undefined
</script>

含义:

1. <script setup>

在 Vue 3 中,使用 <script setup> 语法可以更加简洁和高效地定义组件,特别是在使用 TypeScript 时。

  • 简化组件的定义<script setup> 是 Vue 3.2 及以上版本引入的一个新的 <script> 语法。它允许你在组件中更简洁地使用组合式 API。与传统的 setup() 函数不同,使用 <script setup> 时,不需要显式返回你想要在模板中使用的变量或函数。

  • 自动导入 :在 <script setup> 中,一些 Vue 的常用 API(如 refcomputed 等)会被自动引入,因此不需要手动导入。

2. lang="ts"
  • TypeScript 支持 :通过设置 lang="ts",你告诉 Vue 这个脚本使用 TypeScript。这样你可以在组件中使用 TypeScript 的类型系统,包括类型注解、接口、类型推断等,增强代码的可读性和可维护性。
3. name="Person"
  • 组件名称 :在 <script setup> 中指定 name 属性为组件的名称。在这个例子中,name="Person" 指定了该组件的名称为 Person。虽然在大多数情况下,组件名称通常在导入时就已经定义,但显式指定 name 属性可以在调试时更容易地识别组件,尤其是在使用 Vue DevTools 时。
相关推荐
学不会•38 分钟前
css数据不固定情况下,循环加不同背景颜色
前端·javascript·html
活宝小娜3 小时前
vue不刷新浏览器更新页面的方法
前端·javascript·vue.js
程序视点3 小时前
【Vue3新工具】Pinia.js:提升开发效率,更轻量、更高效的状态管理方案!
前端·javascript·vue.js·typescript·vue·ecmascript
coldriversnow3 小时前
在Vue中,vue document.onkeydown 无效
前端·javascript·vue.js
我开心就好o3 小时前
uniapp点左上角返回键, 重复来回跳转的问题 解决方案
前端·javascript·uni-app
开心工作室_kaic4 小时前
ssm161基于web的资源共享平台的共享与开发+jsp(论文+源码)_kaic
java·开发语言·前端
刚刚好ā4 小时前
js作用域超全介绍--全局作用域、局部作用、块级作用域
前端·javascript·vue.js·vue
沉默璇年5 小时前
react中useMemo的使用场景
前端·react.js·前端框架
yqcoder5 小时前
reactflow 中 useNodesState 模块作用
开发语言·前端·javascript
2401_882727576 小时前
BY组态-低代码web可视化组件
前端·后端·物联网·低代码·数学建模·前端框架