2017-06-20 6 views
0

ArrayListの「オプション」でangular2-ドロップダウン・複数選択を使用している間、observables配列でangular2-dropdown-multiselectを使用するにはどうすればよいですか?

<ss-multiselect-dropdown [options]="options" [texts]="myTexts" [settings]="mySettings" [(ngModel)]="selectedOption" [ngModelOptions]="{standalone: true}" (ngModelChange)="onChange($event)"></ss-multiselect-dropdown> 

は、しかし、ここで私が観測「オプション$」の代わりに、配列「オプション」を使用する必要があります。 これを行う方法は?

+0

私はあなたを得ない!しかし、非同期パイプについて何か知りたいのですか? like、 '[options] =" options | async "' ??? –

+0

はいasync pipeのようなものです。しかし、オプション$ | asyncは機能しません。 – Jeevika

+0

サービスコールバックを '非同期'ではなく 'synchronous'に変更しますか? –

答えて

0

yes async pipeと同様です。しかしoptions$|asyncは、その後、私は

親切Methodeのを同期するtoPromie()メソッドを使用して非同期コールバックの代わりに同期コールバックを使用することを好むだろう

が機能していません。選択コンポーネントイマイチの作業に直接非同期パイプを使用している場合のように、

this.http.get(this.apiUrl + 'GetOptions') 
      .toPromise() 
      .then(responce => 
       this.options = responce.json()) 
      .catch(error => { 
       return Observable.throw(error); 
      }); 
+0

この特定のUI要件に一致するようにサービス実装を変更する理由はありますか?私は観測値を観測値に変換するという約束に観測値を変換する点を見ていません –

0

、あなたが試みることができる:

<ng-container *ngIf="options$| async as options"> 
    <ss-multiselect-dropdown [options]="options" [texts]="myTexts" [settings]="mySettings" [(ngModel)]="selectedOption" [ngModelOptions]="{standalone: true}" (ngModelChange)="onChange($event)"></ss-multiselect-dropdown> 
</ng-container> 
0

あなたは単純にもこのように* ngIf

<div *ngIf="myOptions.length > 0"> 
    <ss-multiselect-dropdown [options]="myOptions" [settings]="mySettings" [(ngModel)]="optionsModel" (ngModelChange)="onChange($event)"></ss-multiselect-dropdown> 
</div> 

を使用することができますあなたのページは、観察可能な応答と高速読み込みを待つことはありません。 "myOptions.length > 0"の代わりに、booleanを使用すると、オプションの読み込み後にtrueになります。

関連する問題