我有一个列表,该列表从后端的对象中检索数据,并且从该列表中选择一个项目后,它应该显示其项目,但是我不知道如何在html或rxjs中呈现该项目。
从列表中选择项目Test1
后,这是我的当前状态,它检索其内部项目info 1
和info 2
。
List:
List: Array(2)
0: {name: "Test1", item: Array(2)}
1: {name: "Test2", item: Array(1)}
length: 2
__proto__: Array(0)
selectedItemData: Array(2)
0: {name: "info 1", item: Array(1)}
1: {name: "info 2", item: Array(4)}
但是,即使有关每个选定项目的检索部分的所有内容都可以正常工作,列表也不会改变。
这是我的html:
<ul class="unstyled" *ngFor="let i of (listObservable$|async).list.List">
<li><a (click)="selected(i.name)">{{i.name}}</a></li>
</ul>
答案 0 :(得分:1)
使用异步管道时,最好使用ngIf并将其映射到视图变量,以便仅在发出可观察对象后才渲染元素。
<ng-container *ngIf="listObservable$ | async as listObj">
<ul class="unstyled" *ngFor="let i of listObj.list.List">
<li><a (click)="selected(i.name)">{{i.name}}</a></li>
</ul>
</ng-container>