更改重复的$scope数组,但会影响原来的ng-repeat
Changing duplicate $scope array but it's affecting original ng-repeat
我有一个通过$scope.myarray
循环的ng-repeat。
我有以下功能:
var copy = $scope.myarray;
$.each(copy, function(index, data){
data.name = "";
});
当我这样做时,它似乎影响了$scope.myarray
上的ng-repeat
循环。
当我这样做的时候:
console.log(copy);
console.log($scope.myarray);
他们似乎都有$$hashKey
,所以我想这就是把事情搞砸的原因。
在不影响第一个版本的情况下操作数组副本的最佳方法是什么?
要复制你应该使用
var copy = angular.copy($scope.myarray);
这样做:
var copy = $scope.myarray;
您没有创建$scope的副本。但你只是将引用赋值给$scope。
这样做:
$.each(copy, function(index, data){
data.name = "";
});
与
完全相同$.each($scope.myarray, function(index, data){
data.name = "";
});
需要复制$作用域的所有项。Myarray转换成一个新的数组
取决于$scope中有什么类型的数据。Myarray,你可能需要做一个深度复制/克隆
相关文章:
- ng init中的表达式无法使用ng repeat
- Angular ng repeat order将多个字段作为一个字段
- 访问ng repeat中的第一个项目
- Angular js+ng repeat+字母数字索引不起作用
- 如何正确应用Angularjs ng repeat
- AngularJS Navigation (li ng-repeat, create header li), DOM
- 如何使用ng repeat中的选定输入更新我的对象
- 无法使用ng repeat检索动态创建的JSON对象的属性
- 使用 ng-repeat访问 ng 表单元素/值
- Toggle Switch在包含ng model和ng repeat之后不进行切换
- 如何在ng repeat angular js中使用$index
- 在Angularjs中,我如何使用ng repeat、ng model和ng click来动态更改内容
- ng repeat在ng repeat-过滤器不工作
- 在ng repeat中使用带有orderBy的方法
- Angular JS ng-repeat
- 在ng repeat中使ng disabled为true
- AngularJS:如何在ng repeat中使用$index
- 为什么在我的指令中使用ng repeat会对我的绑定产生影响
- 更改重复的$scope数组,但会影响原来的ng-repeat
- 如何使 ng-repeat 中的点击事件仅重新渲染受影响的项目(即不$apply运行)