1

このようなデータがあります

localItems = 
     [{Id: 234565, Name: "My Class"}, 
      {Id: 871243, Name: "Class 321"}];

これをテンプレートで使用していますが、

ng-options="item.Id as item.Name for item in localItems"//used to work previously

私のangularJsバージョンは1.2.15

私が欲しいもの:

<option value="234565">My Class</option>
<option value="871243">Class 321</option>

私が得ているもの:

<option value="0">My Class</option>
<option value="1">Class 321</option>

毎回うまくいきましたが、なぜ今うまくいかないのかわかりません

Id値が大きいからですか?

4

2 に答える 2

2

valueプロパティを正しい ID に割り当てたい場合は、次を使用しtrack byます。

ng-options="item.Id as item.Name for item in localItems track by item.Id"

とにかくng-modelには正しい値が割り当てられます

ワーキング JsFiddle : http://jsfiddle.net/KN9xx/20/

于 2014-04-14T12:26:43.853 に答える
0

に基づく正しい値は、生成された要素のitem.Id各 に関係なく、angular によって解決されます。として割り当てられた変数を確認すると、正しい値になります。optionsvalueng-model

于 2014-04-14T12:24:07.037 に答える