组件和指令之间的Angular 6通信

时间:2018-08-20 14:17:24

标签: angular

我正在尝试制作一个弹出菜单组件,在其中可以更改菜单的颜色。 现在,该菜单具有更改颜色的指令,但是现在我不想更改弹出菜单本身的颜色,我想使用其他组件来完成此操作。

我该如何实现? 我已经读过this article,但是不确定通过服务进行的通信是否是正确的方法。

2 个答案:

答案 0 :(得分:1)

您可以使用多种方法

服务是一种选择。请检查以下文章,以使该服务成为双向绑定。

Angular 2 Service Two-Way Data Binding

另一个选项是RxJs,您可以通过Observable与某些孤立的组件进行通信

https://blog.angularindepth.com/rxjs-understanding-subjects-5c585188c3e1

http://reactivex.io/rxjs/manual/overview.html#subject

我建议使用Rxjs,因此,如果需要,您可以订阅多个组件,请检查下面的链接,其中解释了使用RxJ可观察和Angular服务的相同情况。

https://medium.com/@MertzAlertz/services-with-rxjs-50ff96ee0d2a

希望这会有所帮助

答案 1 :(得分:0)

除上述内容外,您还可以通过NgRx在组件之间进行通信,这确实是Redux的启发。我最初开始讨厌NgRx,但后来我了解了它的真正好处。

  

“ Redux不适用于快速制作简单的东西。它对于   使真正困难的事情变得简单”

请查看以下文章

  1. https://alligator.io/angular/ngrx-store-redux-devtools/
  2. https://alligator.io/angular/ngrx-entity/
  3. https://alligator.io/angular/ngrx-store-redux-state-management/
  4. https://www.logisticinfotech.com/blog/easiest-demo-to-learn-ngrx-in-angular-6/

希望有一天会对您有帮助!!