選択コントロールがあります。そのオプションは、スコープのオブジェクトの配列から動的に生成されます。アプリの初期化時に、スコープのバインド変数を変更して特定のオプションを選択したいと考えています。
select の ng-option が完全なオブジェクトを返す場合は機能しません。ただし、select の ng-option が文字列を返す場合は機能します。
それは角度のあるバグですか、それとも何か間違っていますか?
HTML:
<div ng-controller="selectCtrl" ng-app>
Doesn't work when select's ngModel value is object:<br />
<select ng-model="valueObject" ng-options="o.label for o in options"></select><br />
<pre>{{valueObject | json}}</pre>
Works when select's ngModel value is string:<br />
<select ng-model="valueString" ng-options="o.value as o.label for o in options"></select>
<pre>{{valueString | json}}</pre>
JS:
function selectCtrl($scope) {
$scope.options = [
{label: 'a', value: '1', someId: 333},
{label: 'b', value: '2', someId: 555}
];
$scope.valueObject = {label: 'a', value: '1', someId: 333};
$scope.valueString = '1';
};