ng-click 中的一种数据绑定方式

One way data binding inside 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 中使用 angular 单向数据绑定 @?你知道我们如何将 python 中的变量值传递为 varB = varA.

不是将 arrayA 直接分配给 arrayB,而是需要创建它的副本,这样两个变量就不会引用同一个对象。

arrayA = arrayB

上面的赋值只是让arrayAarrayB指向同一个对象。点击按钮,您可以试试这个:

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

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