温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

vue3更新的setup语法糖怎么用

发布时间:2022-05-01 11:45:14 来源:亿速云 阅读:608 作者:iii 栏目:开发技术

本文小编为大家详细介绍“vue3更新的setup语法糖怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue3更新的setup语法糖怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

语法糖用法:

// 将 `setup` attribute 添加到 `<script>` 代码块上
// 里面的代码会被编译成组件 `setup()` 函数的内容
// 就是这么简单明了
<script setup>

</script>

语法糖带来的体验

一、组件自动注册

// 无需使用components,引入即注册,起飞有没有
<script setup>
    import MyComponent from './MyComponent.vue'
</script>

<template>
  <MyComponent />
</template>

二、属性及方法无需return

// 当使用 `<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>

三、自动将文件名定义为组件的name属性

语法糖提供的API

在 <script setup> 中必须使用 defineProps 和 defineEmits API 来声明 props 和 emits

1、defineProps
<script setup>
const props = defineProps({
  foo: String
})
</script>
2、defineEmits
<script setup>
const emit = defineEmits(['change', 'delete'])
// emit('change', '1111')
</script>
3、defineExpose

如果在父组件中通过ref='xxx&rsquo;的方法来获取子组件实例, 而且子组件使用了<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语法糖怎么用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI