我想我在這裏有一些特殊的代碼,因爲我可以谷歌所有我的問題「太簡單」,它也沒有幫助自己來解決方案,可悲的是。 我收到了一個包含2個收音機的單選按鈕組。我正在迭代來自後端的「類型」數據以創建單選按鈕。 我的問題是數據綁定:當我想編輯一個對象時,它的「類型」設置正確,但未被視圖註冊,因此它不會選擇所需的選項。AngularJS:如何把正確的模型重複單選按鈕
Follwing我的情況:
後端提供我這是 「類型串」:
[
{"text":"cool option","enumm":"COOL"},
{"text":"option maximus","enumm":"MAX"}
]
HTML代碼:
<span ng-repeat="type in typeList track by type.enumm">
<input
type="radio"
name="type" required
ng-model="myCtrl.object.type"
ng-value="type">
{{type.text}}
</span>
一些解釋
我不想要使用「裸體」文本,我想使用索姆一種標識符 - 在這種情況下它是一個枚舉。選擇的值應該是整個「類型」,而不僅僅是「type.text」,因爲後端需要類型,而不是簡單的String。 因此,所有我做這始終是一個包啄,該type.text對於像格式化/ internationlized文本等
預選工作在控制器設置這樣的:this.object.type = typeList[0];
第一個單選按鈕已經精選,精彩。
但是編輯對象時爲什麼不選中。我在HTML中用{{myCtrl.object.type}}
做了一個「日誌」,結果是{"text":"cool option","enumm":"COOL"}
。與預選時相同。我已經使用選擇輸入使用相同的「技術」,並且工作正常。我還發現一些谷歌結果說「由於父/子範圍使用$父母」。但是1)我沒有弄明白,2)認爲這不是問題,因爲我使用的是控制器範圍而不是$ scope,或者這種想法是錯誤的?
它可能被解釋得很糟糕,如果是這樣,對不起,但我希望有人1)得到我想要的,2)知道它的解決方案。
謝謝!
首先,感謝您的努力!不幸的是你的笨蛋沒有幫助我,但我試圖用你的想法來獲取正確的數組元素。 我很高興,這**工作**!這既好又煩,爲什麼我不能用我已經填滿的模型?因爲我現在做的是這樣的: 'if(!self.object.type){0} {0} {0} self.object.type = $ scope.typeList [0]; } else { self.object.type = _.filter($ scope.typeList,self.object.type)[0]; }' 但沒關係,因爲它的工作對我來說已經足夠了:) 謝謝! – BAER 2014-08-30 08:03:18