目录前言语法糖用法:语法糖带来的体验一、组件自动注册二、属性及方法无需return三、自动将文件名定义为组件的name属性1、defineProps2、defineEmits3、de
vue3最近更新了一个setup语法糖,这两天才看到,使用起来雀食很甜,特发个帖子记录下
// 将 `setup` attribute 添加到 `<script>` 代码块上
// 里面的代码会被编译成组件 `setup()` 函数的内容
// 就是这么简单明了
<script setup>
</script>
// 无需使用components,引入即注册,起飞有没有
<script setup>
import MyComponent from './MyComponent.Vue'
</script>
<template>
<MyComponent />
</template>
// 当使用 `<script setup>` 的时候,任何在 `<script setup>` 声明的顶层的绑定
// (包括变量,函数声明,以及 import 引入的内容) 都能在模板中直接使用
import { ref } from 'vue'
<script setup>
// 变量
let msg = ref('Hello!')
// 函数
function log() {
msg.value = "World!";
console.log(msg)
}
</script>
<template>
<div @click="log">{{ msg }}</div>
</template>
语法糖提供的API
在 <script setup> 中必须使用 defineProps 和 defineEmits api 来声明 props 和 emits
<script setup>
const props = defineProps({
foo: String
})
</script>
<script setup>
const emit = defineEmits(['change', 'delete'])
// emit('change', '1111')
</script>
如果在父组件中通过ref='xxx’的方法来获取子组件实例, 而且子组件使用了<script setup>, 则子组件的数据需要用defineExpose 的方式导出,否则不会暴露其属性
<script setup>
import { ref } from 'vue'
const a = 1
const b = ref(2)
defineExpose({
a,
b
})
</script>
<script setup>可以与普通的 <script> 一起使用
<script>
// 普通 <script>, 在模块范围下执行(只执行一次)
// 声明额外的选项、例如自定义组件名
export default {
name: '组件1'
}
</script>
<script setup>
// code
</script>
到此这篇关于vue3更新的setup语法糖的文章就介绍到这了,更多相关vue3 setup语法糖内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: vue3更新的setup语法糖实例详解
本文链接: https://lsjlt.com/news/146964.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-01-12
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0