角度9-异步最佳实践?

从8升级到9后,html中的异步逻辑不再起作用。

像这样

<div id="app" *ngIf="(applicationsList$ | async) as applicationsList"> <app-search-filter [(applicationsList)]="applicationsList"></app-search-filter> </div>

Out of this issue https://github.com/angular/angular/issues/34405 and on the Ivy guide https://next.angular.io/guide/ivy-compatibility.

如果使用它,现在会引发错误。

无法为模板变量“ applicationsList”分配值“ $ event”中的错误。模板变量是只读的。

我认为这不是反模式,因为您可以轻松地使用它来进行变更检测。

我现在的问题是:

替换这种代码以消除错误的最佳实践(优雅的方式)是什么?

我知道有可能改用诺言,但这真的是最好的方法吗?:

.ts

this.applicationsList = await this.applicationApi.getList().toPromise(); 

.html

<div id="app">
  <app-search-filter [(applicationsList)]="applicationsList"></app-search-filter>
</div>
评论