我知道关于如何在组件之间进行通信的帖子太多了。
我知道这里基本上有3种方法:
如果我在两个组件之间没有父/子/姐妹关系,那么我看到的唯一方法就是通过服务。但是:对于以下示例,这是极其错误的:
<my-navbar></myNavbar>
<router-outlet><router-outlet>
这将是<app-root>
元素内部的结构
我希望导航栏导航到/home
时具有不同的样式,然后由路由器将其作为<router-outlet>
旁边的元素加载
目前,我是通过在ngOnInit
的{{1}}方法中调用服务函数来实现的,该服务函数设置了绑定到/home
组件内的类的布尔值。
为此使用服务是错误的。
我知道我可以在my-navbar
内创建一个事件处理程序,当活动路由处于活动状态时由路由器触发。但是我还有其他一些独立于路由器的情况,因此我正在寻找更通用的解决方案。
实现此目标的正确方法是什么?