0

次のようなオプションを含む html 選択があります。

<select [(ngModel)]="role" (ngModelChange)="roleChanged($event)">
    <option *ngFor="#role of roles" [ngValue]="role">{{role.Name}}</option>
</select>

roles[] は、私のサービスからのオブザーバブルのサブスクライブで割り当てられます。ロール[]がロードされた後でも、選択が最初は空であることを除いて、すべてが正常に機能しています。ロール[]がサービスからロードされたときにすぐに最初のオプションを表示する選択ドロップダウンが欲しいです。そして、その「役割」も変更します。

選択またはオプションでngInitを使用することを考えていますが、機能しないようです。また、オブザーバブルが返された後にコンポーネントにロールを割り当てることも考えましたが、ロール[]がロードされる前にロール[0]が常にnullであるため、それが可能かどうかわかりません。

重要な場合は、サブスクライブ コードを次に示します。

 getDivisonTeamRoles() {
this._divisonProposalService.getDivisionTeamRoles()
                 .subscribe(
                   roles => this.roles = roles,
                   error =>  this.errorMessage = <any>error);

}

4

1 に答える 1

0

私はそれを考え出した。subscribe () 関数では、そこに複数行のコードを追加して、関数を呼び出したり、他の変数を割り当てたりすることができます。

.subscribe(
                   roles => { 
                     this.roles = roles;
                     this.role = this.roles[0]; 
                     this.getEmployeesByRole();
                    },
                   error =>  this.errorMessage = <any>error);
于 2016-04-26T14:56:12.503 に答える