Angular - 异步管道 - 模板绑定行为
Angular - Async Pipe - Template Binding Behavior
我正在将一个 observable 绑定到我的 Angular 模板,并有条件绑定以显示 'loading..' 消息,直到异步管道解析数据。
绑定工作正常,我正在获取数据并且 'loading..' 消息被触发,直到我获取数据。
<div *ngIf=" (combinedResult$ | async ) as favData ;else loading">
<p> {{ Binding Goes here}} </p>
</div>
<ng-template #loading>
loading...
</ng-template>
但是如果我通过将结果包装到 "details:" 对象中来更改 *ngIf,则 if 条件不起作用并且我看不到 'loading..' 消息。 (但数据是绑定的)。
<div *ngIf=" { details: (combinedResult$ | async ) } as favData
;else loading">
<p> {{ Binding Goes here}} </p>
</div>
我在这里错过了什么..?
在此,*ngIf="{ details: (combinedResult$ | async ) } as favData; else loading"
{ details: (combinedResult$ | async ) }
始终计算为真,因为它不是条件而是赋值。
所以它永远不会显示加载,因为 ngIf 总是评估为 true
我正在将一个 observable 绑定到我的 Angular 模板,并有条件绑定以显示 'loading..' 消息,直到异步管道解析数据。
绑定工作正常,我正在获取数据并且 'loading..' 消息被触发,直到我获取数据。
<div *ngIf=" (combinedResult$ | async ) as favData ;else loading">
<p> {{ Binding Goes here}} </p>
</div>
<ng-template #loading>
loading...
</ng-template>
但是如果我通过将结果包装到 "details:" 对象中来更改 *ngIf,则 if 条件不起作用并且我看不到 'loading..' 消息。 (但数据是绑定的)。
<div *ngIf=" { details: (combinedResult$ | async ) } as favData
;else loading">
<p> {{ Binding Goes here}} </p>
</div>
我在这里错过了什么..?
在此,*ngIf="{ details: (combinedResult$ | async ) } as favData; else loading"
{ details: (combinedResult$ | async ) }
始终计算为真,因为它不是条件而是赋值。
所以它永远不会显示加载,因为 ngIf 总是评估为 true