数据的一种方式点击里面绑定(One way data binding inside ng-click

2019-11-04 20:52发布

我有我的控制器内的两个$范围数组。

$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-点击? 你知道像我们如何在Python作为传递变量值varB = varA

Answer 1:

而不是指定的arrayA直接arrayB ,你需要创建一个副本,所以这两个变量不指向同一个对象。

arrayA = arrayB

上述分配只是使arrayAarrayB来指代相同的对象。 在按钮的点击,你可以试试这个:

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

这将确保所创建的阵列的一个新的副本,并因为这些值varA包含是原始的(布尔值),不会有冲突。



文章来源: One way data binding inside ng-click