我有一个组件使用解析器获得这样的类别:
ngOnInit() {
this.category = this.route.snapshot.data['category'];
}
因此,这很有效,并获得了我的类别,这本质上是一个用户列表。
从上述解析器获得用户名列表后,我在 ngOnInit() 中手动获取了用户帐户详细信息,但是当我将它们作为 Input() 传递给子组件时,它们尚未加载,
这会导致下面的错误被抛出,这是有道理的。
CategoryItemComponent.html:4 ERROR TypeError: Cannot read property 'id' of undefined
at Object.eval [as updateRenderer] (CategoryItemComponent.html:4)
at Object.debugUpdateRenderer [as updateRenderer] (core.js:11940)
at checkAndUpdateView (core.js:11312)
at callViewAction (core.js:11548)
at execComponentViewsAction (core.js:11490)
at checkAndUpdateView (core.js:11313)
at callViewAction (core.js:11548)
at execEmbeddedViewsAction (core.js:11511)
at checkAndUpdateView (core.js:11308)
at callViewAction (core.js:11548)
at execComponentViewsAction (core.js:11490)
at checkAndUpdateView (core.js:11313)
at callViewAction (core.js:11548)
at execEmbeddedViewsAction (core.js:11511)
at checkAndUpdateView (core.js:11308)
at callViewAction (core.js:11548)
我的问题是:我可以使用来自第一个解析器的用户列表作为第二个解析器的输入。如果是这样,这究竟是如何完成的?
编辑1:
我目前将下载的用户从 ngOnInit() 提供给子组件,如下所示:
<app-account [account]="account"></app-account>
我知道我可以作为@alokstar 的答案,但我想知道这是否是推荐的方式 - 或者是否有更优雅的嵌套解析器的方式。