ng-click 中的单向数据绑定



我的控制器内有两个$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

上面的赋值只是使arrayAarrayB引用同一个对象。单击按钮后,您可以尝试以下操作:

arrayB = arrayA.map(item => item);

这将确保创建数组的新副本,并且由于varA包含的值是原始的(布尔值(,因此不会发生冲突。

最新更新