自学Vue3 Day2

一、组合式Api组件通信

1.父与子之间

父传子:父导入子组件,定义好数据,子组件用props接收,这里defineProps底层本质还是props.

注意模板渲染过程不需要写props

子传 父:

2.模版引用(ref)和组件

定义ref对象或变量,用ref属性绑定dom和组件,注意方法写在onMounted钩子中,要先渲染生成dom之后才处理数据 和方法。

父组件用子组件中的方法需要先由子组件的 defineExpse 定义向外抛出才能使用

3.跨层组件通信(provide和inject)重要

顶层组件:用 provide发送

底层接收组件:用inject接收

二、vue2和vue3组件通信区别:

Vue 2

  1. 父子组件通信

    • 使用props从父组件向子组件传递数据。
    • 使用$emit和事件监听从子组件向父组件发送数据。
  2. 兄弟组件通信

    • 通常通过事件总线(Event Bus)实现,但这不是官方推荐的实践。
  3. 跨级组件通信

    • 可以使用事件总线或通过父组件传递一个函数作为prop。
  4. 混入(Mixins)和高阶组件(HOC)

    • 混入可以包含可复用的逻辑,高阶组件可以用来封装逻辑并跨组件共享。
  5. Vuex

    • Vuex是一个集中式的状态管理模式,用于在Vue 2应用中进行组件间通信。

Vue 3

  1. 组合式API(Composition API)

    • Vue 3引入了Composition API,这是一种新的编写组件逻辑的方式,它允许更灵活的代码复用和逻辑共享。
  2. 响应式系统改进

    • Vue 3的响应式系统经过重写,提供了更好的性能和更细粒度的响应式控制。
  3. Teleport

    • Vue 3引入了一个新的内置组件Teleport,它允许将组件的DOM从当前渲染位置移动到DOM的其他位置。
  4. Fragment和Suspense

    • Vue 3支持多个根节点(Fragment),并且引入了Suspense组件用于异步组件的加载状态处理。
  5. Vuex 4

    • 与Vue 3一同发布的还有Vuex 4,它提供了与Vue 3更好的集成和新特性。
  6. provide/inject

    • Vue 2.2+引入了provideinject,但在Vue 3中更加强大和灵活,允许跨组件树进行依赖注入。
  7. 全局属性和事件

    • Vue 3中,全局属性和事件的使用方式没有显著变化,但整体框架的性能和响应性改进可能会影响它们的使用效果。

总结

Vue 3在组件通信方面带来了一些新特性和改进,特别是Composition API的引入,为开发者提供了更灵活的组件逻辑编写方式。同时,Vue 3的响应式系统的改进也会影响到组件间通信的实现。虽然Vue 2和Vue 3在很多基本概念上保持一致,但Vue 3提供了更多的工具和优化来帮助开发者构建更高效、更可维护的应用程序。

三、Vue3新特性 defineXXX

1.defineOptions(定义组件name和其他属性)

2.defineModel(父子双向数据绑定)

父组件:老爹只需要声明数据导入子组件

子组件进行调用:只需要导入defineModel,子组件可以直接修改父组件的值了注意这里底层还是调用父组件的方法,只不过简化代码而已。

注意:需要在配置文件cofing.js中进行声明(3.3版本以上)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/589902.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL:设置唯一索引还是出现重复数据

一、MySQL中null和null不相等 MySQL中:两个值比较会出现:true、false、null 三种情况; null和null相比较会出现未知的类型 二、然后看完这个视频 美团二面:我记得明明加了mysql唯一索引,为啥还会出现重复数据吗&…

PHP的数组练习实验

实 验 目 的 掌握索引和关联数组,以及下标和元素概念; 掌握数组创建、初始化,以及元素添加、删除、修改操作; 掌握foreach作用、语法、执行过程和使用; 能应用数组输出表格和数据。 任务1:使用一维索引数…

GPT是什么?直观解释Transformer | 深度学习第5章 【3Blue1Brown 官方双语】

【官方双语】GPT是什么?直观解释Transformer | 深度学习第5章 0:00 - 预测,采样,重复:预训练/生成式/Transformer模型 3:03 - Transformer 的内部结构 6:36 - 本期总述 7:20 - 深度学习的大框架 12:27 - GPT的第一层:…

(一)JSP教程——JSP脚本标签

JSP脚本标签 JSP脚本标签通常用作对象操作和数据运算,从而动态地生成页面内容。这里有三种类型的脚本标签:声明、代码段和表达式。 JSP声明 JSP声明一个或多个变量、方法,供以后的代码使用。必须先对变量和方法进行声明,才能使用…

golang学习笔记(内存逃逸分析)

golang的内存逃逸 逃逸分析( Escape analysis) 是指由编译器决定内存分配的位置, 不需要程序员指定。 函数中申请一个新的对象。 如果分配在栈中, 则函数执行结束可自动将内存回收;如果分配在堆中, 则函数…

微软开源 MS-DOS「GitHub 热点速览」

上周又是被「大模型」霸榜的一周,各种 AI、LLM、ChatGPT、Sora、RAG 的开源项目在 GitHub 上“争相斗艳”。这不 Meta 刚开源 Llama 3 没几天,苹果紧跟着就开源了手机端大模型:CoreNet。 GitHub 地址:github.com/apple/corenet 开…

网络安全前置知识-linux操作系统

计算机体系结构 计算机发展历史 计算机组成 计算机硬件组成 1. CPU 原文链接:https://blog.csdn.net/stone_fall/article/details/88414017 一条指令的执行过程分为以下5个周期: 取指令周期(Instruction Fetch,IF&#xff…

【Cpp】类和对象

标题:【Cpp】类和对象 水墨不写bug 正文开始: (一)面向过程与面向对象 面向过程和面向对象是两种不同的编程思想。 面向过程指的是将程序分解成多个步骤,每个步骤都是一个独立的函数,通过函数之间的调用实…

使用OneAPI创建LLM访问API Key

OneAPI 是一个能替代 springdoc-openapi/Swagger 的 API 生产工具,既不需要修改后端代码,也不需要启动应用。 也支持导出 OpenAPI 3.0 协议数据,方便在其他工具中消费。 前面我们介绍了LobeChat需要配置LLM的API访问Key,今天你可…

《架构即未来》读后感

目录 一、引言 二、《架构即未来》读后感 1、主题的简要介绍 2、我的看法和理解 3、作者的优点和传递的信息 4、思想如何适用于当今社会 三、《架构即未来》对于企业发展的影响具体体现在哪些方面? 一、引言 任何一个持续成长的公司最终都需要解决系统、组织…

【讲解下如何解决一些常见的 Composer 错误】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

【Spring AI】09. ETL 管道

文章目录 ETL PipelineAPI 概述入门指南ETL 接口和实现DocumentReaderJsonReaderTextReaderPagePdfDocumentReaderParagraphPdfDocumentReaderTikaDocumentReader DocumentTransformerTextSplitterTokenTextSplitterContentFormatTransformerKeywordMetadataEnricherSummaryMet…

Ftrans文件外发系统 构建安全可控文件外发流程

文件外发系统是企业数据安全管理中的关键组成部分,它主要用于处理企业内部文件向外部传输的流程,确保数据在合法、安全、可控的前提下进行外发。 文件外发系统的主要作用包括: 1、防止数据泄露:通过严格的审批流程和安全策略&…

【强训笔记】day7

NO.1 思路:双指针模拟,begin表示最长数字字符串最后一个字符,而len表示数字字符串的长度,i用来遍历,如果为数字,那么定义j变量继续遍历,直到不为数字,i-j如果大于len,就…

LabVIEW机械臂控制与图像处理示教平台

LabVIEW机械臂控制与图像处理示教平台 随着工业自动化技术的快速发展,工业机器人在制造业中的应用越来越广泛,它们在提高生产效率、降低人工成本以及保证产品质量方面发挥着重要作用。然而,传统的工业机器人编程和操作需要专业知识&#xff…

深入理解vector 【C++】

一、vector的介绍: 1.vector是表示可变大小的顺序容器。 2.就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素 进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的&am…

【C++STL详解(五)】--------list的介绍与使用

目录 前言 一、list的介绍 二、list的使用 Ⅰ.默认成员函数 1、构造函数 2、赋值重载 3、析构函数 Ⅱ、容量 1.size() Ⅲ、迭代器与遍历 1.beginend (正向迭代器) 2.rbeginrend (反向迭代器) 3.front 4.back Ⅳ、增删查改 1.push_front 2.pop_front 3.push_b…

Matlab|二阶锥松弛在配电网最优潮流计算中的应用

目录 一、主要内容 二、部分代码 三、程序代码 四、下载链接 一、主要内容 最优潮流计算是电网规划、优化运行的重要基础。首先建立了配电网全天有功损耗最小化的最优潮流计算模型;其次结合辐射型配电网潮流特点建立支路潮流约束,并考虑配电网中的可…

平平科技工作室-Python-步步惊心

一.准备图片 放在 文件夹取名为imgs,分为两种boys和girls 二.编写程序 首先创建一个文件名为index.py 其次编写程序 # coding:utf-8 import sys, time, easygui, os, pygame from pygame.locals import * pygame.init() # 设置窗口显示位置、大小、颜色、标题 os.environ[ …

Go语言的包管理工具go mod与之前的GOPATH有什么区别?

在深入探讨Go语言的包管理工具go mod与之前的GOPATH之间的区别之前,我们首先需要理解这两个概念各自的作用和背景。 GOPATH时代 在Go语言早期版本中,GOPATH是一个非常重要的环境变量。它告诉Go工具链在哪里查找你的Go代码、第三方库以及编译后的二进制…