我有一个对象的可观察对象数组,可在列表视图中使用该对象异步呈现。问题是我的ListView无法正常工作。得到结果后,即使我看到从HTTP请求中得到对象的响应,该列表也只会在最初填充空白行。
现在,如果我单击该按钮以切换android模拟器上的应用程序,然后立即返回到该应用程序,列表将被填充。
或者,如果我转到应用程序中的另一个页面/活动并返回,则该列表会正常工作。因此渲染存在问题。问题是什么?
如果我不使用列表视图,而是在项目上使用带有* ngFor的ng-container,与我对列表视图的处理方式相同,则效果很好。结果立即打印出来。
下面是我组件中的代码。 这不能正常工作:
<GridLayout>
<ListView id="searchList" [items]="responseItems$ | async" class="list-group">
<ng-template let-item="item" let-i="index" let-odd="odd" let-even="even">
<GridLayout class="list-group-item" [class.odd]="odd" [class.even]="even">
<Label textWrap="true" [text]='item?.English'></Label>
</GridLayout>
</ng-template>
</ListView>
</GridLayout>
这按预期工作:
<ng-container *ngFor = "let v of (responseItems$ | async); let i = index;">
<Label [text]="i"></Label>
<Label style="background:#eaeaea;" (tap)="wordClickSimple(i)" textWrap="true" [text]='v?.English'></Label>
</ng-container>