我在$ scope.data中的值有问题但没有改变。 你可以在jsfiddle中看到 - jsfiddle
如果您在设置Currency: 'UAH'
后设置Currency: 'RUB'
,则会看到Qty:2
的值将等于'UAH'
的值,如下所示:{{1} }
如何将值设置为$ scope.data?
P.S。:使用AngularJs 1.2.23,它的工作正确
谢谢。
答案 0 :(得分:1)
您不能对非唯一值使用'track by',因为'track by'需要一对一的映射。使用'qty'将不起作用,因为它不是唯一的,因为wty 1,2,3和4映射到每个价格对象的不同值(不是一对一)。添加以下更改,它应该可以工作。
<select name="mySelect" id="mySelect"
ng-options="option.qty for option in data.availableOptions track by option.qty"
ng-model="data.selectedOption"></select>
应该是,ng-selected是这样的,当货币改变时,将自动选择第一个值:
<select name="mySelect" id="mySelect"
ng-options="option.qty for option in data.availableOptions"
ng-model="data.selectedOption" ng-selected="$first"></select>
答案 1 :(得分:1)
正如@Umer所说,你不能使用非唯一值的跟踪。所以改变代码如下:
<select name="mySelect" id="mySelect"
ng-options="option.qty for option in data.availableOptions track by option.amount"
ng-model="data.selectedOption"></select>