使用 Observable 闪烁 *ngIf 的内容

Oli*_*vvv 3 observable rxjs angular-ng-if angular

我开发了一个 Angular 应用程序。我想在我的应用程序未投入生产时显示一些文本,否则什么也不显示。我有以下代码,其中环境是可观察的:

<span *ngIf="(environment | async) !== 'production'">bla bla text...
Run Code Online (Sandbox Code Playgroud)

问题在于,只要可观察对象未解决,它就会显示内容。

我认为这可以解决:

undefined !== 'somestring'
Run Code Online (Sandbox Code Playgroud)

因此条件得到验证并显示文本。这不是我想要的,我想要在可观察值解析之前不显示、不评估表达式。

我应该使用什么语法来防止出现不需要的内容?

谢谢你的帮助

JB *_*zet 5

在您的组件中一次性订阅,并在模板中测试实际发出的值:

<span *ngIf="env && env !== 'production'">
Run Code Online (Sandbox Code Playgroud)

或者在模板中订阅一次,并将结果存储在变量中:

<ng-container *ngIf="environment | async as env">
  <span *ngIf="env !== 'production'">
Run Code Online (Sandbox Code Playgroud)