Vue3学习之第一节:初识setup
介绍
一个组件选项,在组件被创建之前,props 被解析之后执行。
它是组合式 API的入口。
Vue3.0中的一个新的配置项,值为一个函数。组件中所用到的:数据、方法等等,均要配置再setup中。
一、setup执行的时机
在beforeCreate之前执行一次,this 是 undefined。
注意:在 setup 中你应该避免使用 this,因为它不会找到组件实例。setup 的调用发生在 data property、computed、property 或 methods 被解析之前,所以它们无法在 setup 中被获取。
案例测试demo:
<template><h1>一个人的信息</h1><h3>姓名:{{ person.name }}</h3>
</template><script>
import { defineComponent, reactive } from 'vue'export default defineComponent({beforeCreate() {console.log('-----beforeCreate-----')},setup() {console.log('-----setup-----', this)let person = reactive({name: '张三',})return {person,}},
})
</script>
页面控制台打印:
二、setup 的参数
export default {setup(props, context) {// Attribute (非响应式对象,等同于 $attrs)console.log(context.attrs)// 插槽 (非响应式对象,等同于 $slots)console.log(context.slots)// 触发事件 (方法,等同于 $emit)console.log(context.emit)// 暴露公共 property (函数)console.log(context.expose)}
}
参数1. props:值为对象,包含:组件外部传递过来,且组件内部声明接收了的属性。
注意⚠️:
setup 函数中的 props 是响应式的,当传入新的 prop 时,它将被更新。
但是,因为 props 是响应式的,你不能使用 ES6解构,它会消除 prop 的响应性。
参数2. context:上下文对象:
attrs:值为对象,包含:组件外部传递过来,但没有在 props 配置中声明的属性,相当于Vue2.x的this.$attrs。
slots:收到的插槽内容,相当于Vue2.x的this.$slots。
emit:分发自定义事件的函数,相当于Vue2.x的 this.$emit。
⚠️使用 emit 触发事件,注意需要注册 emits 配置项,否则会出现以下警告:
Vue3学习之第一节:初识setup相关推荐
- 初步使用计算机教案ppt,第一章 第一节 初识计算机程序(课件+教案+素材)
第一章 第一节 初识计算机程序(课件+教案+素材) ==================资料简介====================== 第一节 初识计算机程序:28张PPT ~$第一节 认识智能 ...
- MySQL入门学习的第一节(SQL语句)
MySQL入门学习的第一节(SQL语句) SQL语句
- 初识计算机程序教学设计,粤教版 (B版)第二册下册第一节 初识计算机程序教学设计及反思...
这是一份粤教版 (B版)第二册下册第一节 初识计算机程序教学设计及反思,共6页. 二 初识VB编程环境教学目标1.认识VB窗口与工具箱:2.了解什么是VB的对象.对象的属性等概念:3.基本掌握如何在窗 ...
- Angular学习笔记第一节 基本概念
1.Let do it! ####1.ng的基础概念 在学习ng之前,我们只需要掌握HTML.CSS.JS即可. 简称ng.名字不错,吊! 重要的特性 有了ng,我们就可以轻松的构建SPA应用,而且n ...
- vue3学习笔记(ref, reactive, setup, hook...)
目录 一.搭建项目 二.常用的Composition API 1.ref函数(实现响应式) 2.reactive函数 3.vue2和vue3响应式的区别 4. setup参数 5.计算属性和监视 6. ...
- 零基础学习SQL第一节
零基础学习SQL第一大节 第一节:数据库与SQL 我们身边的数据库 大家都有过下面这样的经历吧? 收到曾经为自己诊治过的牙医寄来的明信片,上面写着"距上次检查已有半年,请您再来做个牙齿健康查 ...
- CCSA学习笔记 第一节 思科安全解决方案综述
CCSA学习笔记 CCSA第二期:01思科安全解决方案综述 CCSA安全学习的目标 CCSA第二期:01思科安全解决方案综述 CCSA安全学习的目标 1.能够对思科安全的网络安全解决方案有初步认识 2 ...
- 第一节初识C语言(一)
C语言的学习记录 第一个程序 第一个程序(1) #include <stdio.h> int main() {printf("num=2");return 0; } 第 ...
- C语言学习第一节——初识c语言
这篇文章回向大家简单的介绍一下c语言的基础只是,让大家对c语言有一个大概的认识: 以下是本节的介绍顺序,看不懂没关系,后面会再做详解(我所有的代码均会在vs2017上运行,如果可以请下载一个) 1:数 ...
最新文章
- 领导和管理?你一定要分得清!
- 3.MOC文件解读(下)——MOC文件中的函数
- Android模拟器Genymotion使用详解
- 从零开始使用Skywalking分布式链路追踪系统
- 最大隶属度原则_模糊数学笔记:六、模糊模型识别-I(最大隶属度原则)
- 为什么选择Cassandra
- go语言 panic
- 让算法会说话之冒泡排序
- 互利网上数字金融典型场景: 网购运费险
- QT学习资料博客:《Qt 实战一二三》和《Qt 学习之路 2》等
- matlab做均值和方差,matlab求均值,方差
- MATLAB机器人工具箱的下载与安装
- hdmi接口和计算机连接,hdmi接口,教您hdmi接口怎么连接电视
- 高质量商业计划书的10个写作心得
- 西门子数控系统数据采集方案
- 树莓派查看cpu温度的命令
- 数据库原理(上)--收集得空看
- 大话私服虚拟服务器,大话西游私服服务器
- matlab析取范式求主析取范式用电脑,(p∧q)∨r 求其主析取范式 再用主析取范式求主合取范式...
- 天梯赛题目练习L1-001,L1-002,L1-003
热门文章
- “Missing artifact.....的解决办法
- PHP框架开发:二、从何处开始?URL
- CCF202104-3 DHCP服务器(100分)【模拟】
- HDU1872 稳定排序【稳定排序】
- URAL1297 Palindrome【manacher算法】
- ACM程序设计基础(1)题解
- HDU1642 UVA167 UVALive5227 The Sultan's Successors题解
- 域名与DNS(域名解析服务器)
- PyCharm 设置运行参数
- C 编译器、链接器、加载器详解