Javascript 角度-内容投影/向投影内容传递异步数据

Javascript 角度-内容投影/向投影内容传递异步数据,javascript,angular,ionic-framework,ngrx,Javascript,Angular,Ionic Framework,Ngrx,我有一个网页主页,其中包含一个名为InfiniteList的组件。数据以称为事件$的可观察[]的形式提供给ionViewDidLoad()中的主页。然后将events$数组传递到无限列表,如下所示: <infinite-list [content]="events$ | async"></infinite-list> 我已经在无限列表组件模板中添加了一个标记,它也在工作。我想我理解内容投射的概念。但是列表没有被呈现,因为内容在呈现时不知何故不可用 所以我想我不能说让ev

我有一个网页主页,其中包含一个名为
InfiniteList
的组件。数据以称为
事件$
可观察[]
的形式提供给ionViewDidLoad()中的
主页
。然后将
events$
数组传递到无限列表,如下所示:

<infinite-list [content]="events$ | async"></infinite-list>
我已经在无限列表组件模板中添加了一个
标记,它也在工作。我想我理解内容投射的概念。但是
列表没有被呈现,因为
内容在呈现时不知何故不可用


所以我想我不能说
让eventItems的内容
。就像如果它在
无限列表
组件本身中一样。

您可以执行以下操作:

无限列表
组件装饰器中,添加一个
exportAs
属性

然后在模板中:

<infinite-list #component="valueOfExportAs" [content]="events$ | async">
    <event-item *ngFor="let eventItem of component.content" [eventItem]="eventItem"></event-item>
</infinite-list>

更多信息可在此处找到:

在本文的“模板引用”下可以看到更好的方法:


您可以做的是在组件的装饰器中设置exportAs属性,然后将结果保存在一个模板变量中,您可以对该模板变量进行迭代。谢谢您的帮助。为了完整性:我不得不使用
“let eventItem of content.content”
。我现在的答案是这样的:
@malua我编辑了我的答案,将其纳入其中。我还添加了一个链接,你可以考虑更先进的技术。
<infinite-list [content]="events$ | async">
    <event-item *ngFor="let eventItem of content" [eventItem]="eventItem"></event-item>
</infinite-list>
<infinite-list #component="valueOfExportAs" [content]="events$ | async">
    <event-item *ngFor="let eventItem of component.content" [eventItem]="eventItem"></event-item>
</infinite-list>