不改变变量 $scope.data 的值
Does not change the value of the variable $scope.data
我对 $scope.data 中的值有疑问,该值不会更改。
你可以在jsfiddle中看到 - jsfiddle
如果在设置 Currency: 'RUB'
之后设置 Currency: 'UAH'
,您将看到 Qty:2
的值将等于 'UAH'
的值,如下所示:prix = {"qty":"2","amount":"1276 UAH"}
如何将值设置为 $scope.data?
P.S.: AngularJs 1.2.23 正常工作
谢谢。
您不能对非唯一值使用 '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>
正如@Umer 所说,您不能使用非唯一值跟踪。所以改代码如下:
<select name="mySelect" id="mySelect"
ng-options="option.qty for option in data.availableOptions track by option.amount"
ng-model="data.selectedOption"></select>
工作Fiddle:https://jsfiddle.net/8842yh49/2/
我对 $scope.data 中的值有疑问,该值不会更改。 你可以在jsfiddle中看到 - jsfiddle
如果在设置 Currency: 'RUB'
之后设置 Currency: 'UAH'
,您将看到 Qty:2
的值将等于 'UAH'
的值,如下所示:prix = {"qty":"2","amount":"1276 UAH"}
如何将值设置为 $scope.data?
P.S.: AngularJs 1.2.23 正常工作
谢谢。
您不能对非唯一值使用 '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>
正如@Umer 所说,您不能使用非唯一值跟踪。所以改代码如下:
<select name="mySelect" id="mySelect"
ng-options="option.qty for option in data.availableOptions track by option.amount"
ng-model="data.selectedOption"></select>
工作Fiddle:https://jsfiddle.net/8842yh49/2/