问问题
1301 次
2 回答
2
尝试在选择元素中使用ngOptions而不是ngRepeat指令:
<select ng-model="d.SkuId"
ng-options="s.Key as s.Value for s in skus">
</select>
plunker:http ://plnkr.co/edit/TQIxqSv9ZBleLeA2h6WQ?p=preview
于 2016-12-06T20:52:22.857 回答
1
使用ng-attr-value="s.Key"
而不是value="{{s.Key}}"
.
试试plnkr
请注意,差异只是值:
<select ng-model="k.Key" >
<option ng-repeat="s in skus" ng-selected="s.Key === k.Key"
ng-attr-value="s.Key">{{s.Value}}</option>
</select>
使用 {{}} 的表达式评估时间和 ng-repeat 编译时间并不像人们想象的那样同步。这解释了为什么只选择了最后一个。
虽然根据官方文档 - 在 ng-options 和 ng-repeat 之间进行选择,但您可以将 ng-repeat 用于 ng-options,但在处理对象而不是 Id 的情况下,您可能希望使用select as
语法。还有其他性能原因,您可能想要这样做。
于 2016-12-06T21:44:42.213 回答