私は選択要素をバインドしようとした際に根本的な欠陥があると思います。バインディングの選択/オプション
[(ngModel)] = "selectedPrivilege"のように選択した場合、選択は何も選択されずに開始されます。モデルバインディングを削除すると、[selected]属性が機能し、適切なオプションが選択されますが、(ngModelChange)をバインドしていないモデルは機能しなくなります。
私はここで何か愚かなことをやっていると仮定しています。
<div class="form-group">
<label for="privilegeDDL">Privilege</label>
<select *ngIf="privileges.length > 0" class="form-control" id="privilegeDDL" required [(ngModel)]="selectedPrivilege" (ngModelChange)="onPrivilegeChange($event)">
<option *ngFor="let p of privileges" [ngValue]="p" [selected]="p.level===user.privilege.level"> {{p.name}}</option>
</select>
</div>
このページでは、オプションのドロップダウンがロードされた後、一般的にロードされたオブジェクトを編集しています。私は、選択をスタンドアロンの「特権」オブジェクトにバインドする必要がありました。編集中のオブジェクトと選択オプションの両方がロードされると、正しいオプションが選択されますが、スタンドアロンの特権プロパティも編集中のオブジェクトの特権プロパティに割り当てる必要があります。おそらく私のアプリケーションの流れにちょうど奇妙な... – Chris