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>