gpt4 book ai didi

angular - 在 Observable 的 Observable 中的 ngFor 中使用异步管道(Angular)

转载 作者:太空狗 更新时间:2023-10-29 17:39:08 25 4
gpt4 key购买 nike

我有这样定义的变量:myVar: Observable<Observable<MyObject>[]> .

我正在使用 Angular4 功能通过异步管道进行枚举

*ngFor="let obsMyObject of (myVar | async)"

现在我有了 MyObject 的 Observable,但我只需要 MyObject。我可以这样写:

<div *ngFor="let obsMyObject of (myVar | async)">
<div *ngIf="let obsMyObject | async; let MyObject"></div>
</div>

但我不能在内部 div 中执行此操作,因为我正在设置 flex order (这对内部 div 没有任何影响)属性所以我需要这样的东西:

<div *ngFor="let obsMyObject of (myVar | async); let MyObject = (obsMyObject | async)"
[style.order]="MyObject.order">
</div>

我只是有一个想法如何做到这一点,我尝试了这个:

<div *ngFor="let obsMyObject of (myVar | async); let MyObject = obsMyObject)">
{{MyObject}}
</div>

但是MyObject是未定义的,所以没有办法let MyObject = (obsMyObject | async)会工作。

最佳答案

我认为您想使用 ng-containerngIf 来订阅和创建对可观察对象的引用。然后,您可以在 ng-container 中引用这个新变量,就好像它是一个普通对象一样。

<ng-container *ngIf="myVar$| async as myVar">
<div *ngFor="let obsMyObject of myVar">
{{obsMyObject }}
</div>
</ng-container>

myVar 和 object 的使用真的很困惑。这是一个更好的例子:

组件中的属性声明为:

users$: Observable<User[]> 

和模板:

<ng-container *ngIf="users$ | async as users">
<div *ngFor="let user of users">
{{ user.name }}
</div>
</ng-container>

关于angular - 在 Observable 的 Observable 中的 ngFor 中使用异步管道(Angular),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47729570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com