Vai*_*gon 11 javascript angularjs
我是Angular.js的新手,我正在尝试在for循环中的AngularJs中创建动态范围变量.这是如下:
$scope.lists=[{listName:'list1'},{listName:'list2'}];
for(var i=0;i<$scope.lists.length;i++){
var listName = $scope.lists[i].listName;
listName = $parse(listName);
listName.assign($scope,[]);
$scope.$apply();
}
Run Code Online (Sandbox Code Playgroud)
上面的代码抛出一个错误说:$digest
已经在进行中.
代码在没有循环的情况下正常使用,如下所示: 在AngularJs中设置动态范围变量 - 范围.<some_string>
我最终正在寻找$scope.list1=[]
和$scope.list2=[]
作为2个独立的阵列.
任何线索都会很棒.谢谢.
moh*_*ias 12
上面的代码抛出错误说:$ digest已在进行中.
你已经在控制器和角度范围内了.因此无需使用触发摘要循环$scope.$apply()
.即使你必须检查$$phase
然后申请.
if (!$scope.$$phase) $scope.$apply()
Run Code Online (Sandbox Code Playgroud)
但对于您的方案,根本不需要它
$scope.lists = [{listName: 'list1'}, {listName: 'list2'}];
angular.forEach($scope.lists, function(item) {
var listName = item.listName;
$scope[listName] = [];
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16699 次 |
最近记录: |