vue3中的<script setup>
文章类型:Vue
发布者:hp
发布时间:2025-02-12
在使用vue3项目中,我们可以快捷方便的写<script setup>,那么,他的作用是什么呢?
(1)定义:
是在单文件组件 (SFC) 中使用组合式 API 的编译时语法糖
(2)优势:
更少的样板内容,更简洁的代码。
能够使用纯 TypeScript 声明 props 和自定义事件。
更好的运行时性能 (其模板会被编译成同一作用域内的渲染函数,避免了渲染上下文代理对象)。
更好的 IDE 类型推导性能 (减少了语言服务器从代码中抽取类型的工作)。
(1):语法
<script setup>
console.log('hello script setup')
</script>
(2):说明
内部内容会被编译成组件 setup() 函数的内容,每次组件实例被创建的时候执行
顶层的绑定会被暴露给模板,任何在 <script setup> 声明的顶层的绑定 (包括变量,函数声明,以及 import 导入的内容) 都能在模板中直接使用
1:<script setup> 是 Vue3 的语法糖,简化了组合式 API 的写法,其实是实现了 “顶层的绑定”。
2:在 setup 中声明的属性和方法无需 return,就可以直接在模板使用
3: 引入组件的时候,会自动注册,无需通过 components 手动注册
4:默认不会对外暴露任何属性和方法,如果要暴露的话就要使用 defineExpose,可以使用 defineProps 接收父组件传递的值,defineEmits 定义自定义事件
5:useAttrs 获取属性,useSlots 获取插槽,defineEmits 获取自定义事件,defineExpose 对外暴露
普通的 <script> 只会在组件第一次被引入的时候执行一次
而 <script setup> 中的代码会在每次组件实例被创建的时候执行