* ng的闪烁内容如果使用Observable

时间:2019-12-18 17:13:21

标签: angular rxjs observable angular-ng-if

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

<span *ngIf="(environment | async) !== 'production'">bla bla text...

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

我认为这可以解决:

undefined !== 'somestring'

,因此条件得到验证并显示了文本。这不是我想要的,我不想显示,在可观察到的分辨率之前不对表达式进行求值。

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

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

一劳永逸地订阅您的组件,并在模板中测试实际的发射值:

<span *ngIf="env && env !== 'production'">

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

<ng-container *ngIf="environment | async as env">
  <span *ngIf="env !== 'production'">

答案 1 :(得分:2)

您可以使用undefined测试null'production'Array.indexOf

<span *ngIf="[undefined, null, 'production'].indexOf(environment | async) < 0">