は誰も私を伝えることができるプレーンアレイを表示するための比較、2つ目はない、普通の配列のために行います。AngularJS 1.5 ngOptions最初の例では、モデルのオプションが選択されている理由
// Plain old array
vm.owner = ['example', 'example2', 'example3', ...];
モデルvm.model.address.owner = 2;
// EXAMPLE 1 - Works
// Force index to be a number: using id*1 instead of it being a string:
// and the option ('example3') is selected based on the model value of 2
// indicating the index
<select id="owner"
name="owner"
placeholder="Residential Status"
ng-model="vm.model.address.owner"
ng-required="true"
ng-options="id*1 as owner for (id, owner) in vm.owner">
<option value="">Select Value</option>
</select>
ハックを使用しないしようと代わりにインデックス2に値がまだモデルに設定されていても選択されないことにより、トラック。
// EXAMPLE 2 - Doesn't Work
// Markup doesn't show value to be a string: using track by, but the
// option set in the model doesn't cause the option to be selected it
// remains as the default with a value of ''
<select id="owner"
name="owner"
placeholder="Residential Status"
ng-model="vm.model.address.owner"
ng-required="true"
ng-options="owner for (id, owner) in vm.owner track by id">
<option value="">Select Value</option>
</select>
私はハックは素晴らしいことだクリーンではないのでngOptionsはとても例2のための任意の説明や解決策スーパー混乱であることがわかりました。