现在有一些需求是需要做一个全局的刷新功能,当然刷新是针对当前路由组件的数据更新了,之前想通过rxjs直接在当前路由的组件中订阅事件就可,但是发现一个问题是我无法订阅到这个事件。我当前是使用在最外层layout布局上需要使用这个功能点。box-
-header
- refresh(当前功能) -body
- router
- components
-footer
与之对应的加载方式
{ path:'',
component:layoutComponent,
children:[
{
path:'',redirectTo:'/xxx',
},
{ path:'xxx',
loadChildren:'xxx/xxx.module#xxxModule'
}
]
}当然我是访问到这个xxx路径中,但是需要刷新是在layoutComponent里的headerComponent(头部)进行的动作,这个在用全局rxjs的subject发射、订阅事件中没有截取到任何动作,这个请教大神该怎么处理。
1 回答
万千封印
TA贡献1891条经验 获得超3个赞
angular6以上可以声明Singleton service,这种service只会被实例化一次。angular6一下的话可以在appmodule中注入一个service用作component之间的通信,这个service不能再在其它module中注入了,否则会被多次实例化。多次实例化后会有多个subject,无法达到component间通信的目的。
添加回答
举报
0/150
提交
取消