我正在尝试制作一个弹出菜单组件,在其中可以更改菜单的颜色。 现在,该菜单具有更改颜色的指令,但是现在我不想更改弹出菜单本身的颜色,我想使用其他组件来完成此操作。
我该如何实现? 我已经读过this article,但是不确定通过服务进行的通信是否是正确的方法。
答案 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不适用于快速制作简单的东西。它对于 使真正困难的事情变得简单”
请查看以下文章
希望有一天会对您有帮助!!