2013-08-06 56 views
0

我有以下幾種類型:麻煩映射NG-選定對象的字符串模式

$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> 

我的模式是這樣的:

​​

當我設置該模型時,選擇框未被選擇爲正確的元素。很確定我確切地知道這是爲什麼發生。我的類型列表是一個對象列表,我的model.type只是一個字符串而不是對象。我真的希望我的類型擁有額外的「desc」信息,並且不能更改模型。有沒有辦法設置我的選擇,使其工作?

回答

1

變化的理解表達

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

完美的感謝! – lostintranslation

0

或者....

只是給它分配在這樣的範圍:

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

該對象只有一種類型。選擇框是可用類型的列表。再次,你只能選擇一個。 – lostintranslation

+0

我編輯了我的答案。基本上我只是想告訴你,你可以(通常是)使用整個「類型」對象作爲選擇的模型。它給你更多的靈活性。在這種情況下,「對象」對象現在具有.type.name和.type.desc屬性。 –