角度嵌套路由组件,何时触发事件以通知子组件?



我有一个结构如下的Angular应用程序:

  • <router-outlet>.
  • 具有Subject<Resource>()resource.asObservable()资源的服务。
  • 订阅可观察量的几个子组件。

我的主要组件从 API 获取资源。每个子组件应该显示资源的一部分。

主组件获取ngOnInit中的资源,之后它使用service.resource.next()在服务中设置资源。问题是它在加载子组件之前执行此操作(显然(,因为我传递给子组件中的subscribe函数的回调函数没有被调用。

子组件在其构造函数中订阅服务中的资源。

如何确保主组件在加载子组件时设置资源,并且可以从可观察量接收更新?除了ngOnInit之外,我还需要使用其他功能吗?还是有完全不同的方法?

谢谢。

而不是你想要Subject<Resource>()ReplaySubject<Resource>(1)

重播主题将向新订阅者重播最后 N 个排放,其中 N 是构造函数的参数,因此在本例中,只有最后 1 个。

最新更新