我的控制器内有两个$scope数组。
$scope.arrayA= [false, false, false, false, false, false];
$scope.arrayB= [false, false, false, false, false, false];
arrayA 将根据复选框单击而更改。我已经完成了这部分。
仅当单击按钮时,arrayB 才会将值更改为等于数组 A。
<button type="button" ng-click="arrayB = arrayA" class="btn btn-search">Get Data</button>
问题是一旦单击按钮,就会实现双向数据绑定。 每次数组 A 更改时,arrayB 都会更改。
我只希望 arrayB 在单击按钮时更改。有没有办法在ng-click中使用角度单向数据绑定@
?你知道我们如何在 python 中将变量值作为varB = varA
传递。
而不是将arrayA
直接分配给arrayB
,您需要创建它的副本,以便两个变量不会引用同一个对象。
arrayA = arrayB
上面的赋值只是使arrayA
和arrayB
引用同一个对象。单击按钮后,您可以尝试以下操作:
arrayB = arrayA.map(item => item);
这将确保创建数组的新副本,并且由于varA
包含的值是原始的(布尔值(,因此不会发生冲突。