【发布时间】:2016-05-27 19:23:45
【问题描述】:
我在使用绑定到控制器中的选择框的数据时遇到问题。当我使用绑定到的 ng-model 变量在视图上显示所选数据时,一切正常。现在,当我尝试在函数中的控制器中使用这些相同的值而不是给我选择的值时,它给了我选择中的第一个值。
我尝试了我所知道的一切来修复它,但无法解决...任何帮助将不胜感激。我想我错过了一些行为。
使用 ng-click 按钮调用 addProduct 方法。显示的数据是单击按钮填充该数据后的结果。
选择框代码:
<div class="row select-options-container">
<div class="col">
<select class="product-options-select" ng-model="sizeOption" ng-options="o as o.size for o in selectOptions" data-ng-change="getIntensityOptions(sizeOption.id)">
</select>
</div>
<div class="col">
<select class="product-options-select" ng-model="intensityOption" ng-options="o for o in intensityOptions">
</select>
</div>
</div>
查看我在下面显示的内容:
<b>CONTROLLER VALUES</b>
<p><b>Size:</b> {{ newSize }}</p>
<p><b>Intensity:</b> {{ newIntensity }}</p>
<p><b>QTY:</b> {{ newQty }}</p>
<b>VIEW VALUES</b>
<p><b>Size:</b> {{ sizeOption.size }}</p>
<p><b>Intensity:</b> {{ intensityOption }}</p>
<p><b>QTY:</b> {{ productQty }}</p>
我在下面显示的控制器代码:
$scope.addProduct = function() {
$scope.newIntensity = $scope.intensityOption;
$scope.newSize = $scope.sizeOption.size;
$scope.newQty = $scope.productQty;
}
PS - 所有这些额外的代码都只是用来说明问题。
【问题讨论】:
-
每当您的模型值发生变化时,您需要调用 addProduct 方法重新初始化您的“视图”值
-
应该澄清一下......这些值都是在 ng-click 按钮上调用的。
标签: javascript angularjs controller views