从其他模块切换Sidenav元素

时间:2018-02-14 20:29:36

标签: angular angular-material2

我正在Angular世界中迈出第一步,我参与了一个需要从sidenav元素的不同模块上的按钮切换侧导航元素的项目。特别是,我正在使用Angular Material for UI,而我正在使用的sidenav的元素是mat-sidenav。

问题是,哪个是从sidenav的不同模块上的组件拦截此click事件的好方法?

1 个答案:

答案 0 :(得分:2)

如果您的项目已经滚动并且已经生成了大量代码,那么我将创建一个存储此切换状态的服务并将其注入需要它的两个模块中。最优选地,该服务将存在于共享模块中。

如果项目刚刚启动,请考虑查看ngrx store,使用它来存储状态中的切换布尔值,按钮点击更新切换状态并让导航元素相应地响应切换状态。

在任何情况下,它都能满足您项目的需求。如果它是一个简单的项目,那么请选择第一个选项。