获取数据后延迟管道执行

时间:2018-07-19 09:58:14

标签: angular

嗨,下面是我的下拉列表,其中包括自定义管道,但是我面临的问题是,从api接收特定变量的数据需要花费一些时间。在该管道执行空数据之前。

<div class="col-md-6">
  <div class="floating-label">
    <select class="floating-select" value="" formControlName="curreny" id="user">
      <option *ngFor="let val of trCurrency | keyValue" [ngValue]="val.key">{{val.value}}</option>
    </select>
    <span class="highlight"></span>
    <label>Currency</label>
  </div>
</div>

稍后我将获得trCurrency值,是否可以更改执行顺序,或者可以添加其他条件进行检查。

2 个答案:

答案 0 :(得分:1)

编辑:

好的,那么您不需要async管道。一个小的*ngIf应该可以满足您的要求。

<div class="floating-label" *ngIf= "trCurrency">
    <select class="floating-select" value="" formControlName="curreny" id="user">
      <option *ngFor="let val of trCurrency | keyValue" [ngValue]="val.key">{{val.value}}</option>
    </select>
    <span class="highlight"></span>
    <label>Currency</label>
 </div>

答案 1 :(得分:1)

相反,我添加了ngif来检查该值是否存在。

    <div class="col-md-6" *ngIf ="currency != ''">
      <div class="floating-label">
        <select class="floating-select" value="" formControlName="currency" id="user">
          <option *ngFor="let val of (currency) | keyValue" [ngValue]="val.key">{{val.value}}</option>
        </select>
        <span class="highlight"></span>
        <label>Currency</label>
      </div>
    </div>