Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Angular EventEmitter与通过服务进行通信大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
让我们假设我们有一个深层嵌套架构,其中包含一个主要组件和3个子组件.例如:

todo->todo list->todo list action bar->todo list button

还有其他组件.

当我们使用EventEmitter时,我们必须将所有层都放到todo组件中.
替代方案是使具有可观察的通信服务从按钮组件与待办事件组件通信.

使用这种或那种方式有什么起伏?我该怎么办

解决方法

这是一个设计视角.

一般来说,我想到的是,如果应用程序大小是中等到大,那么使用行为主题或重播主题去共享服务,以将消息传输到其他组件.

甚至更好的设计是去ngrxi:e在Angular中使用redux.
唯一的缺点就是你需要为你的动作和减速器编写额外的代码,但优点是所有的逻辑都与在redux世界中被称为哑组件的组件分开.一旦完成,它将使用Ngrx dev工具在任何时刻跟踪状态,并且您可以轻松跟踪在何时以及如何调试和添加代码时触发的事件或操作.

只有当您的应用程序大小很小时,我才会建议您使用事件发射器,就像多个嵌套组件一样,您会被意大利面条代码吞没.您无法跟踪所有触发事件,然后最终重新编写代码.

有关使用事件发射器与共享服务LINK的更多信息.有一个特殊问题.

有关ngrx LINK的更多信息.此链接使用Ngrx v2.

使用Ngrx v.4开发了一个小应用程序,以下是同一个git和工作example的git repo

大佬总结

以上是大佬教程为你收集整理的Angular EventEmitter与通过服务进行通信全部内容,希望文章能够帮你解决Angular EventEmitter与通过服务进行通信所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。