0

我知道我可以使用*ngIf="obs$ | async as obs",但是如果我需要在 obs 为 false 时使用该值怎么办?

<ng-container *ngIf="obs$ | async as obs">
  observable is {{ obs | json }}
</ng-container>

https://stackblitz.com/edit/angular-zkbemb?file=src%2Fapp%2Fapp.component.html

我希望该行读取 observable 是错误的,而不是块消失。我知道我可以使用 else 块,但我需要将readonly$标志解包到视图变量readonly,并且不想在 else 块中重复我的整个模板。我想不出任何不涉及订阅组件的方式,但这并不是唯一一个发现自己想要在模板中使用的方式#boolFlag = boolObs$ | async

4

1 回答 1

1

感谢对 Reddit 帖子的评论

https://www.reddit.com/r/Angular2/comments/m2r39u/angular_ngif_learn_all_the_features_available_in/gqku9f9/

<ng-container *ngIf="{ obs: obs$ | async } as data">
  observable is {{ data.obs | json }}
</ng-container>

https://stackblitz.com/edit/angular-ghxtsn?file=src%2Fapp%2Fapp.component.html

于 2021-03-19T04:46:07.367 回答