无法将选定对象映射到字符串模型

时间:2013-08-06 22:12:00

标签: angularjs

我有以下类型:

$scope.types = [{
  name: 'First',
  desc: 'first desc'
},{
  name: 'Second',
  desc: 'second desc'
}]

我创建了一个选择:

  <div>
    <select ng-model="object.type" ng-selected="type.name" ng-options="type.name for type in types"></select>
  </div>

我的模型看起来像这样:

$scope.object = {type: 'First'};

当我设置该模型时,未选择正确元素的选择框。我很确定我确切知道为什么会这样。我的类型列表是一个对象列表,我的model.type只是一个字符串而不是一个对象。我真的希望我的类型有额外的'desc'信息,不能改变模型。有没有办法设置我的选择,使其有效?

2 个答案:

答案 0 :(得分:1)

将理解表达式更改为

ng-options="type.name as type.name for type in types"

答案 1 :(得分:0)

或者....

只需在范围内指定它:

$scope.object = {type: $scope.types[0]}