我有运费和结算字段.如果客户选中“使用运费进行结算”的复选框,我希望结算字段与送货字段相匹配.我可以复制这些值,但我宁愿重新绑定结算字段以匹配发货的字段,因此如果选中此框并对发货进行更改,则结算也会更新.那么我如何重新绑定ng-model的来源或者我可以使用什么成语来绑定帐单地址字段来实现这一目标呢?
解决方法
保持两个对象
$scope.shipping = { .... }; $scope.billing = { .... };
如果有人选择他们想要匹配,那就去做
$scope.billing = $scope.shipping.
由于对象是通过引用,因为它们更新一个,另一个也将更新.您可以通过将$scope.billing更改回您初始化它的任何内容来删除引用:
$scope.billing = { .... };
如果您还有一个要绑定它的复选框,请在其上连接数据更改
<input type="checkBox" data-ng-model="MY_MODEL" data-ng-change="myFunction() "/>
然后在你的控制器中
$scope.MY_MODEL = false; $scope.myFunction(){ console.log($scope.MY_MODEL); }
或者不绑定数据-ng-change,只需$watch MY_MODEL:
$scope.MY_MODEL = false; $scope.$watch("MY_MODEL",function(){ console.log($scope.MY_MODEL); },true);