setup 单文件组件的语法糖 - Vue3 composition(组合式)API

详解Vue3中的语法糖setup

可以把 setup 语法糖理解为是使用组合式 API 的地方

setup 选项是一个接收 props 和 context 的函数,

接收一个propscontext函数并且将setup内的内容通过return暴露给组件的其余部分。

注意

在setup 中:

  • 组件自动注册,不需要额外声明(自动将文件名定义)
  • 不再声明 beforeCreate 和 create
  • 无法使用 this (所以找不到组件实例无法获取到data、methods等)
  • 属性方法不需要 return

组合式 API 可以提高代码的复用性与可读性,使项目更易维护,其中包括:

  • 响应式 API: 比如 ref() 和 reactive()
  • 生命周期钩子: 比如 onMounted() 和 onUnmounted()
  • 依赖注入:比如 provide() 和 inject()
  • 父子组件之间的交互:defineProps 和 defineEmitsdefineExpose

由于在执行 setup函数的时候,还没有执行 Created 生命周期方法,所以在 setup 函数中,无法使用 data 和 methods 的变量和方法

由于我们不能在 setup函数中使用 data 和 methods,所以 Vue 为了避免我们错误的使用,直接将 setup函数中的this 修改成了 undefined

引入

在页面中,组件API按需引入:

import { ref, watch, toRefs, reactive,toRef, computed, defineEmits } from 'vue';

定义响应式数据

ref 与 reactive

在 setup 中,数据并不是响应式的,所以需要使用 ref 或者 reactive 对数据进行处理,也就是创建响应式数据。

相关推荐

setup 单文件组件的语法糖 - Vue3 composition(组合式)API-Npcink
setup 单文件组件的语法糖 - Vue3 composition(组合式)API-Npcink

什么是语法糖? - Vue3 composition(组合式)API

参考文章

VUE模块

ref - Vue3 composition(组合式)API

2022-9-1 18:00:32

VUE模块

什么是语法糖? - Vue3 composition(组合式)API

2022-9-1 20:40:37

⚠️
Npcink上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。
无意侵害您的权益,请发送邮件至 1355471563#qq.com 或点击右侧 私信:Muze 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索