当前位置: 首页 > news >正文

Vue3之setup参数介绍

setup(props, context) {...
}

一、参数

使用setup函数时,它将接受两个参数:

  • props
  • context

让我们更深入地研究如何使用每个参数

二、Props

setup函数中的第一个参数是props。正如在一个标准组件中所期望的那样,setup函数中的props是响应式的,当传入新的prop时,它将被更新。

export default {props: {title: String},setup(props, context) {console.log(props.title)...}
}

Warning:因为props是响应式的,你不能使用ES6解构,因为它会消除prop的响应式。

如果需要解构prop,可以通过使用setup函数中的toRefs来安全地完成此操作

import { toRefs } from 'vueexport default {props: {title: String},setup(props, context) {const { title } = toRefs(props)console.log(title.value)...}
}

三、context

context参数是一个普通的javascript对象,它对组件暴露三个属性:attrs、slots、emit。

export default {setup(props, context) {// Attribute(非响应式对象)console.log(context.attrs)// 插槽(非响应式对象)console.log(context.slots)// 触发事件(方法)console.log(context.emit)}
}

context是一个普通的JavaScript对象,也就是说,它不是响应式的,这意味着你可以安全地对context使用ES6解构。

export default {setup(props, { attrs, slots, emmit }) {...}
}

attrs和slots是有状态的对象,它们总是会随组件本身的更新而更新。这意味着你应该避免对它们进行解构,并始终以attrs.x或slots.x的方式引用property。

请注意,与props不同,attrs和slots是非响应式的。如果你打算根据attrs或slots更改应用副作用,那么应该在onUpdated生命周期钩子中执行此操作。

访问组件的property

执行setup时,组件实例尚未被创建。因此,你只能访问以下property:

  • props
  • attrs
  • slots
  • emit

换句话说,你将无法访问以下组件选项:

  • data
  • computed
  • methods

在setup()内部,this不会是该活跃实例的引用因为setup()是在解析其他组件选项之前被调用的,所以setup()内部的this的行为与其他选项中的this完全不同。这在和其他选项式 API一起使用setup()时可能会导致混淆。

1、attrs

用途:当父组件传递数据给子组件时,子组件不通过props接收,那么父组件传递的数据就到了setup中的context的attrs属性。

<div id="app">
<!-- 父组件传递数据给子组件 -->
<son webName="自如初"></son>
</div><script>
const app = Vue.createApp({
});// 子组件不使用props接收
app.component('son', {template:`<div>son</div>`,setup(props, context) {const { attrs, slots, emit} = context;// 打印父组件传递的数据console.log(attrs.webname);return {};}
});
const vm = app.mount('#app');
</script>

2、slots

用于接收渲染父组件传递的插槽内容

<div id="app">
<son>父组件通插槽传递的内容
</son>
</div><script>
const app = Vue.createApp({
});app.component('son', {template:`<div>son</div>`,setup(props, context) {const { h } = Vue;const { attrs, slots, emit} = context;// 显示父组件传递的内容return () => h('p', {}, slots.default());}
});
const vm = app.mount('#app');
</script>

3、emit

向父组件触发事件。

<div id="app">
<!-- 4、父组件监听子组件发射的事件 -->
<son @sclick="getData"></son>
</div><script>
const app = Vue.createApp({methods: {// 5、实现事件getData () {alert(1)}}
});app.component('son', {// 1、子组件中绑定事件template:`<div @click="sonClick">son</div>`,setup(props, context) {const { attrs, slots, emit} = context;function sonClick() {// 2、通过 emit 向父组件发射事件emit('sclick');}// 3、对外暴露该事件return { sonClick };}
});
const vm = app.mount('#app');
</script>

4、使用渲染函数

setup还可以返回一个渲染函数,该函数可以直接使用在同一作用域中声明的响应式状态:
在这里插入图片描述
在这里插入图片描述

相关文章:

Vue3之setup参数介绍

setup(props, context) {... }一、参数 使用setup函数时&#xff0c;它将接受两个参数&#xff1a; propscontext 让我们更深入地研究如何使用每个参数 二、Props setup函数中的第一个参数是props。正如在一个标准组件中所期望的那样&#xff0c;setup函数中的props是响应…...

ESET NOD32 互联网安全软件和防毒软件 -简单,可靠的防护。

安全防范病毒和间谍软件&#xff0c;银行和网上购物更安全, 网络摄像头和家用路由器使用更安全&#xff0c;阻止黑客访问您的电脑, 让您的孩子网络安全&#xff1b;产品兑换码仅支持中国ip地址兑换&#xff0c;兑换后可全球通用。 简单&#xff0c;可靠的防护 防范黑客&#x…...

试试这几个冷门但好用的软件吧

软件一&#xff1a;探记 探记是一款专注于个人记录每一条记录的工具&#xff0c;主要特点如下&#xff1a; 简单易用&#xff1a;探记的界面设计简洁明了&#xff0c;操作流程简单易用&#xff0c;用户可以快速、方便地添加记录。 多样化记录类型&#xff1a;探记支持多种记…...

【云原生】k8s NetworkPolicy 网络策略是怎么样的

前言 随着微服务的流行&#xff0c;越来越多的云服务平台需要大量模块之间的网络调用。 在 Kubernetes 中&#xff0c;网络策略(NetworkPolicy)是一种强大的机制&#xff0c;可以控制 Pod 之间和 Pod 与外部网络之间的流量。 Kubernetes 中的 NetworkPolicy 定义了一组规则&…...

手把手教你用几行代码给winform多个控件(数量无上限)赋值

前言&#xff1a; 我们在开发winform程序的过程中&#xff0c;经常会遇到这样一个场景&#xff0c;我们设计的界面&#xff0c;比如主窗体有一百多个TextBox&#xff0c;然后初始化的时候要对这个一百多个TextBox的Text属性赋值&#xff0c;比如赋个1&#xff0c;如果是winfor…...

回炉重造十一------ansible批量安装服务

1.playbook的核心组件 Hosts 执行的远程主机列表Tasks 任务集,由多个task的元素组成的列表实现,每个task是一个字典,一个完整的代码块功能需最 少元素需包括 name 和 task,一个name只能包括一个taskVariables 内置变量或自定义变量在playbook中调用Templates 模板&#xff0c;…...

系统集成项目管理工程师 笔记(第20章:知识产权管理、第21章:法律法规和标准规范)

文章目录 20.1.2 知识产权的特性 58420.2.1 著作权及邻接权 58520.2.2 专利权 58920.2.3 商标权 59221.3 诉讼时效 59921.6.3 标准分级与标准类型 60321.7.2 信息系统集成项目管理常用的技术标准 6061、基础标准2、开发标准3、文档标准4、管理标准 第20章 知识产权管理 584 20.…...

Channel-wise Knowledge Distillation for Dense Prediction(ICCV 2021)原理与代码解析

paper&#xff1a;Channel-wise Knowledge Distillation for Dense Prediction official implementation&#xff1a;https://github.com/irfanICMLL/TorchDistiller/tree/main/SemSeg-distill 摘要 之前大多数用于密集预测dense prediction任务的蒸馏方法在空间域spatial…...

No.052<软考>《(高项)备考大全》【冲刺6】《软考之 119个工具 (4)》

《软考之 119个工具 &#xff08;4&#xff09;》 61.人际交往:62.组织理论:63.预分派:64.谈判:65.招募:66.虚拟团队:67.多标准决策分析:68.人际关系技能:69.培训:70.团队建设活动:71.基本规则:72.集中办公:73.认可与奖励:74.人事评测工具:75.观察和交谈:76.项目绩效评估:77.冲…...

Go | 一分钟掌握Go | 9 - 通道

作者&#xff1a;Mars酱 声明&#xff1a;本文章由Mars酱编写&#xff0c;部分内容来源于网络&#xff0c;如有疑问请联系本人。 转载&#xff1a;欢迎转载&#xff0c;转载前先请联系我&#xff01; 前言 在Java中&#xff0c;多线程之间的通信方式有哪些&#xff1f;记得吗&…...

【建议收藏】计算机视觉是什么?这几个计算机视觉的核心任务你真的了解吗?

文章目录 &#x1f4da;引言&#x1f4d6;计算机视觉的核心任务&#x1f4d1;图像分类和对象识别&#x1f4d1;目标检测&#x1f4d1;语义分割&#x1f4d1;实例分割&#x1f4d1;图像生成 &#x1f4d6;计算机视觉的应用领域&#x1f4d1;人脸识别&#x1f4d1;自动驾驶&#…...

BatteryChargingSpecification1.2中文详解

1. Introduction 1.1 Scope 规范定义了设备通过USB端口充电的检测、控制和报告机制&#xff0c;这些机制是USB2.0规范的扩展&#xff0c;用于专用 充电器&#xff08;DCP&#xff09;、主机(SDP)、hub(SDP)和CDP(大电流充电端口)对设备的充电和power up。这些机制适用 于兼…...

基于Jenkins,docker实现自动化部署(持续交互)【转】

前言 随着业务的增长&#xff0c;需求也开始增多&#xff0c;每个需求的大小&#xff0c;开发周期&#xff0c;发布时间都不一致。基于微服务的系统架构&#xff0c;功能的叠加&#xff0c;对应的服务的数量也在增加&#xff0c;大小功能的快速迭代&#xff0c;更加要求部署的…...

漫谈大数据 - 数据湖认知篇

导语&#xff1a;数据湖是目前比较热的一个概念&#xff0c;许多企业都在构建或者准备构建自己的数据湖。但是在计划构建数据湖之前&#xff0c;搞清楚什么是数据湖&#xff0c;明确一个数据湖项目的基本组成&#xff0c;进而设计数据湖的基本架构&#xff0c;对于数据湖的构建…...

阿里云国际版ACE与国内版ACE区别

1.国际版ACE与国内版ACE有哪些不同 2.国际版ACP/ACE约考流程 2.1 登录VUE官方网站约考 https://www.pearsonvue.com.cn/Clients/Alibaba-Cloud-Certification.aspx ​ 2.2 如果之前有注册过账户&#xff0c;那就直接登录&#xff0c;如果还没有账户&#xff0c;那就创建账户 2.…...

Mysql8.0 gis支持

GIS数据类型 MySQL的GIS功能遵守OGC的OpenGIS Geometry Model&#xff0c;支持其定义的空间数据类型的一个子集&#xff0c;包括以下空间数据类型: GEOMETRY&#xff1a;不可实例化的数据类型&#xff0c;但是可以作为一个列的类型&#xff0c;存储任何一种其他类型的数据POIN…...

汇编---Nasm

文章目录 比较流行的汇编语言有3种:不同风格的汇编语言在语法格式上会有不同: 实战代码&#xff1a;Intrinsic函数手写汇编&#xff08;8086汇编&#xff09;调用C的API库函数调用约定实际代码 C调用汇编函数进行计算纯C实现如下&#xff1a;CASM实现:纯ASM实现:ASM打印命令行参…...

NDK OpenGL渲染画面效果

NDK系列之OpenGL渲染画面效果技术实战&#xff0c;本节主要是通过OpenGL Java库&#xff08;谷歌对OpenGL C库做了JIN封装&#xff0c;核心实现还是在Native层&#xff09;&#xff0c;实现页面渲染&#xff0c;自定义渲染特效。 实现效果&#xff1a; 实现逻辑&#xff1a; 1…...

常见的深度学习框架

框架优点缺点TensorFlow- 由Google开发和维护&#xff0c;社区庞大&#xff0c;学习资源丰富- 具备优秀的性能表现&#xff0c;支持大规模分布式计算- 支持多种编程语言接口&#xff0c;易于使用- 提供了可视化工具TensorBoard&#xff0c;可用于调试和可视化模型- 底层架构复杂…...

【设计模式】七大设计原则--------单一职责原则

文章目录 1.案例1.1 原始案例1.2 改进一&#xff1a;类上遵循单一职责原则1.3 改进二&#xff1a;方法上遵循单一职责原则 2.小结 1.案例 1.1 原始案例 package com.sdnu.principle.singleresponsibility; //客户端 public class singleResponsibility {public static void m…...

如何用Python+Perplexity API实时监控招聘动态,提前48小时锁定新岗?——资深猎头不愿透露的自动化情报系统

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Perplexity招聘信息搜索 Perplexity AI 作为一家快速发展的生成式人工智能公司&#xff0c;其招聘动态常通过官方渠道及技术社区实时更新。掌握高效、精准的招聘信息检索方法&#xff0c;是开发者与研究人员了…...

统一去马赛克与降噪技术:ESUM模型解析与应用

1. 项目概述&#xff1a;统一去马赛克与降噪技术研究 在数字图像处理领域&#xff0c;去马赛克&#xff08;Demosaicing&#xff09;是图像信号处理&#xff08;ISP&#xff09;流水线中最关键的步骤之一。这项技术负责将传感器捕获的原始拜耳模式&#xff08;Bayer Pattern&am…...

ARM1176JZF芯片架构与时钟管理深度解析

1. ARM1176JZF芯片架构概览 ARM1176JZF是ARMv6架构中的经典处理器内核&#xff0c;广泛应用于嵌入式系统和移动设备。这款芯片采用了先进的流水线设计和动态时钟调节技术&#xff0c;在性能与功耗之间实现了出色的平衡。开发芯片版本特别集成了完整的调试功能和性能监控单元&am…...

【算法】小白也能懂 · 第 11 节:动态规划入门

在前面 10 节中,我们学了递归、二叉树、图的 BFS/DFS 等基础数据结构与算法。今天,我们来认识一个让无数初学者又爱又恨的概念——动态规划(Dynamic Programming,简称 DP)。别怕,跟着节奏走,你会发现它其实没那么神秘。 1. 什么是动态规划 简单来说,动态规划的核心思…...

Perplexity认证备考资源严重稀缺!仅开放3个月的模拟题库已限流,速领2024Q3最新版PDF+视频解析

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Perplexity认证考试概览与最新动态 Perplexity认证考试是由Perplexity AI官方推出的面向开发者、AI工程师及技术决策者的专业能力评估体系&#xff0c;旨在验证考生在大语言模型原理、提示工程实践、API集成、…...

考研数学避坑指南:那些课本不讲但真题爱考的极限与无穷小细节

考研数学避坑指南&#xff1a;那些课本不讲但真题爱考的极限与无穷小细节 考研数学中&#xff0c;极限与无穷小的概念看似基础&#xff0c;却暗藏玄机。每年都有大量考生在看似简单的题目上失分&#xff0c;原因往往是对这些概念的深层理解不足。本文将聚焦真题中最常见的陷阱&…...

如何免费下载中国大学MOOC视频:MoocDownloader完整使用指南

如何免费下载中国大学MOOC视频&#xff1a;MoocDownloader完整使用指南 【免费下载链接】MoocDownloader An MOOC downloader implemented by .NET. 一枚由 .NET 实现的 MOOC 下载器. 项目地址: https://gitcode.com/gh_mirrors/mo/MoocDownloader 你是否曾经因为网络不…...

终极指南:3步解锁B站缓存视频播放自由

终极指南&#xff1a;3步解锁B站缓存视频播放自由 【免费下载链接】m4s-converter 一个跨平台小工具&#xff0c;将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 还在为B站缓存的m4s视频无法在其他播放器打开而…...

Perplexity AI认证考试情报解密(2024Q3动态锁频版):仅限内部渠道更新的题库变动预警

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Perplexity AI认证考试情报解密&#xff08;2024Q3动态锁频版&#xff09;&#xff1a;仅限内部渠道更新的题库变动预警 核心变动速览 2024年第三季度起&#xff0c;Perplexity AI官方对认证考试实施“…...

27考研er必备的那些学习工具!

对2027考研人来说&#xff0c;备考不是简单地“埋头刷题”&#xff0c;而是一场关于信息筛选、资源整合、时间管理和学习效率的长期战役。面对公共课、专业课、院校信息、经验帖、课程资源等海量内容&#xff0c;选对工具往往能让复习少走弯路。 以下这些平台和网站&#xff0c…...