提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
很多框架都适配了vue3 例如element ui 、element ui Plus、ant design Vue等 随着很多ui框架的适配,vue3也逐渐成为主流,vue3也新增加了一个语法糖setup
一、setup是什么?
setup是组合式API 根据官方文档描述 setup() 钩子是在组件中使用组合式 API 的入口,通常只在以下情况下使用:
需要在非单文件组件中使用组合式 API 时。 需要在基于选项式 API 的组件中集成基于组合式 API 的代码时。
这块的意思是写法不同 setup有两种写法
二、setup使用方法
1.第一种
代码如下(示例):
<script>
import { defineComponent, ref } from 'vue';
export default defineComponent({
setup() {
const top = ref(10);
const bottom = ref(10);
return {
top,
bottom,
};
},
});
</script>
defineComponent官方释义是 在定义 Vue 组件时提供类型推导的辅助函数。 这个结构体系跟vue2很像 只是多个 defineComponent与setup。在这个结构里面依然可以使用vue2的选项式API 也就是data()结构体系 vue3可以使用组合式API与选项式API 组合式API也是基于选项式API来实现的 但是 如果使用上述方法的组合式API 模板访问的变量需要放在return中暴露出来 如果需要实时响应变化 需要给变量加上ref属性 如果函数是对象格式 使用 reactive() reactive()返回一个对象的响应式代理
2.第二种
代码如下(示例):
<script setup>
import {ref} from 'vue';
const status = ref(1)
const status1 = 2
const click = (传递的参数 可以为空)=>{
status.value=3
status1.value = 3
会发现 status的值会变化 而status1就不会变化
}
</script>
其他情况下,都应优先使用<script setup> 语法。 注:如果使用的是 <script setup>语法 则不需要将定义的变量使用retun暴露出来
|