ng-click

时间:2018-06-14 05:54:23

标签: angularjs data-binding angularjs-ng-click

我的控制器里面有两个$ scope数组。

$scope.arrayA= [false, false, false, false, false, false];
$scope.arrayB= [false, false, false, false, false, false];

arrayA将改变取决于复选框点击。我已经完成了这一部分。

当单击按钮时,arrayB将仅将值更改为等于arrayA

<button type="button" ng-click="arrayB = arrayA" class="btn btn-search">Get Data</button> 

问题是一旦点击按钮,就会实现双向数据绑定。 arrayB将在每次更改arrayA时更改。

我只希望在单击按钮时更改arrayB。有没有办法在ng-click中使用角度单向数据绑定@?你知道我们如何在python中将变量值传递为varB = varA

1 个答案:

答案 0 :(得分:1)

不是直接将def result = Domain.createCriteria().list(max:10, offset:20){ //conditions } def count = result.totalCount 分配给arrayA,而是需要创建它的副本,这样两个变量都不会引用同一个对象。

arrayB

以上分配只会使arrayA = arrayB arrayA引用同一个对象。单击该按钮,您可以尝试:

arrayB

这将确保创建数组的新副本,并且由于值arrayB = arrayA.map(item => item); 包含的是原始(布尔值),因此不存在冲突。