他是当前前端最热门的两个框架。无论采访还是工作都是前端开发人员必须掌握的。
今天,我们通过比较了解组件的组成部分。
本文首先描述了组件值方法,然后专门介绍了每种值和特定用途的应用程序方案。在本文中,比较总结了与组件部分相同的点和不同的点和不同的点。
我希望通过这种比较方法,我们学习时会给我们留下深刻的印象,并希望帮助所有人。
有12种类型的组件通信
尽管有许多组件通信方法,但以不同方式有不同的应用程序方案。
父亲-Child Compartion Communication Brothers Complote Cross -Level -level组件通信用于将数据传输到父组件中。
接收数据后,子组件无法直接修改父部件的数据。将报告错误。
当您需要修改它时,应在父组件中对其进行修改。修改父部件后,将同时渲染子组件。
如果您必须在子组件中修改它,则必须使用它来使用sub -component的新属性,而不是直接修改。
我们知道这是一个 - 通道数据流,并且传递给父组件的子组件的数据无法直接修改。
因此,当子组件要修改父组件数据时,您需要公开事件并将值传递给父组件。父组件监视事件以完成值的值。
您需要修改父组件传递的属性的值。每次您需要公开方法,然后收听父部件主管,然后对其进行修改。特别麻烦吗?
它用于简化此过程。
父组件无需收听事件,然后修改值。
父组件在传输属性时只需要添加修饰符,然后在修改subsot时暴露的事件。
我们知道有一种简化数据修改的方法吗?是的,那是
默认情况下,属性命名值并自动监视事件。
让我们看看一个例子
在上面的示例中,我们的帧识别是,当我们修改框值时,父组件值将会更改。这实际上是两个路绑定。
但是有时候我们不可能通过属性然后监视事件,这表明它不满足我们的需求。
如果需要修改属性和事件,该怎么办?这需要我们的参数。此属性在sub -component.contains中定义了两个属性以定义属性名称以定义事件名称。
例如,我们要通过的属性名称,监视事件是。
其他事件或属性是相似的,我不会在这里详细介绍。但是您只需要注意一个组件。
如果您需要直接操作,我们可以使用它。
如果在普通的DOM元素上,请引用DOM元素的点;
如果在子组件上,引用的方向是子组件实例。
应该注意的是,如果在周期中定义它,则将是一个数组。
与Ref类似,我们可以直接获得子组件或母体组件。
:获取一个包含所有子类(不包括孙子组件)的VueComponent对象数组,您可以直接在子座中获取所有数据和方法。
:获取父节点的vueComponent对象,该对象还包括父节点中的所有数据和方法。
同样,您可以获取根案例。
那是我们创建的示例
有必要一起使用它,以允许祖先组件将依赖项注入其后代的所有后代。无论组件级别有多深,在建立上游和下游关系期间,它始终将生效。如果您熟悉,这与特征非常相似。
选项应成为对象的函数或返回对象。该对象包含可以注入其后代的属性。
该选项应为:
提示:绑定不是响应。这是故意的。但是,如果您通过监视对象,则可以响应对象的对象。
在2.5.0+注射中,可以通过设置默认值来转移到选项:
如果需要从其他名称注入,则用于指示其源属性:
与Prop的默认值相似,您需要使用出厂方法来实现非原始值:
当多层嵌套组件传输数据时,可以使用它仅在无需进行中间处理的情况下传输数据即可使用。例如,当父组件将数据传达到孙子组件时。
在父范围内包含属性绑定(和除外)的属性绑定(和除外)。当组件未声明任何Prop时,它将包括所有父分数的绑定(除外)。
在父范围内包括(不包括修饰符)事件监视器。
也许有些朋友不明白,让我们理解下面的示例
您可以使用父组件将内容直接传递给子组件。子组件标签中的内容可以传递。
未命名的默认名称是。
不仅是父组件传输内容到子组件,子模块还可以通过字段插槽传递数据到父组件。
顺便说一句,谈论和谐。
EAVEN名称插槽具有相应的打印量(例如:介质中的内容将在中间找到)。Property包含名称插槽中未包含的所有节点或内容。
每个属性都包含一个数组。
请注意,插槽不响应。如果您需要一个组件才能在传输数据更改时进行纠正,我们建议更改策略并依赖响应实例选项,例如或其他响应。
用于访问域插槽的用于每个插槽,其中包括此对象包含一个返回相应VNode的函数。
我们可以通过调用相应的方法传递响应数据来获得数组。类似的返回值。
与前部相似,但没有价值。
主要使用四种示例方法传输数据。
首先,我们定义一个
VUEX是为vue.js应用程序开发的一种状态管理模式。它采用了集中存储管理应用程序的所有组件的状态,并确保状态在相应的规则中以可预测的方式变化。
作者不会说太多。每个人都应该知道,如果您不知道,可以检查文档的VUE2版本的官方文档。
组件通信有9个中的9个
尽管有许多组件通信方法,但以不同方式有不同的应用程序方案。
父亲 - 孩子组件通信兄弟组件交流交叉 - 级别的组件通信用于将父部件的价值传递给子女组件,并且使用情况没有差异。
这是相同的使用方式,但是您需要注意:
需要使用该定义。
使用时,您需要注意:
在中国,我们知道它包含在父范围内包含无所作为(并获得)的具有约束力(和除外)。
在中间的中间,第二个参数被转移到。不再忽略它。换句话说,和谐将存在。
使用方法与此相同。当多层嵌套组件通过数据时,如果仅通过数据,则可以使用中间处理。例如,当父组件将数据传达到孙子组件时。
我们只需要注意两点:
如果您不想使用默认名称,我们稍后可以添加自定义名称。
有必要一起使用它,以允许祖先组件将依赖项注入其后代的所有后代。无论组件级别有多深,在建立上游和下游关系期间,它始终将生效。
原理是相同的,方法可能会更改。
上面的写作方法是语法糖的语法,这更简洁。不要与您的朋友不熟悉。
我们知道该方法已被删除,因此无法与Cross -Assembly进行通信。但是现在有一个替代计划MITT.JS,仍然是。
首先安装
然后,像先前封装的巴士一样,包装
然后使用两个组件之间的通信
它是用于应用程序开发的状态管理模式。它采用了集中存储管理应用程序的所有组件的状态,并确保该州在相应的规则中以可预测的方式变化。
作者不会说太多。每个人都应该知道,如果您不知道,可以检查文档的VUE3版本的官方文档。
如果您以前曾使用过状态管理,那么类似的插件。它是最新一代轻量级的状态管理插件-in.cording you yuxi,它将不再接受新功能,建议使用新项目。
作者不会说太多,您可以查看官方文档以自己学习。
组件通信中有7个
尽管有许多组件通信方法,但以不同方式有不同的应用程序方案。
父亲-Child Compartion Communication Brothers Complote Cross -Level -level组件通信用于将父部件的价值传递给子女组件,该组件可以传递属性或方法甚至组件。
我们可以发现,中子组件中的消息传输消息到父组件是由父组件调用该方法,以通过父组件的形式调用sub -component。此部分之间仍然有很大的区别。
上下文用于父子或后代之间的沟通,类似
有很多方法可以查看如何使用。它可以用于传递使用哪种方法,但只有在传递多个嵌套以获取多个方法时才能使用。此作者在这里停止谈论它。
您可以获取子组件实例,然后使用组件上的属性或方法。这类似于。
创建方法是恢复功能的方法。但是我们需要注意的一件事,您不能在功能组件上使用ref属性,因为它们没有示例。如果您想获得功能组件的ref,则需要使用它并合作使用它。我不会在这里说任何话。
在中间,组件中写入的内容都是类似的。
根据插入内容的数量,它可能是数组或对象。当只有一个内容时,它是一个对象,当有多个内容时,它是一个数组。
当插槽同时存在时,插槽应占上风。
请勿支持自定义事件,因此无法进行VUE。因此您需要使用外部插头。
EventEdemitter是一个,类似。
它是一种州管理工具,类似,您可以自己检查官方文档。
它是一种州管理工具,类似,您可以自己检查官方文档。
Vue和React学习生命周期函数的比较(VUE2,VUE3,旧版本React,新版本的React)
感谢朋友们观看了病人,本文是作者的个人研究笔记。如果本文对您有所帮助,请同样喜欢??,您的支持是作者不断更新的动机!
原始:https://juejin.cn/post/7101869216596230152