Angular使用forEach无法访问$ scope

Mat*_*man 2 angularjs

我试图遍历本地存储并添加到我的控制器中的模型.

angular.forEach(localStorage,function(value,key){
    $scope.cats.push(localStorageService.get(key));
});
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此代码时,我得到了

TypeError: Cannot set property 'cats' of undefined

我想我正在努力理解范围的概念.

Mat*_*man 5

修正如下:

angular.forEach(localStorage,function(value,key){
    this.push(localStorageService.get(key));
},$scope.cats);
Run Code Online (Sandbox Code Playgroud)

不确定Angular方式是否正确.

  • 是的.在[doc](http://docs.angularjs.org/api/angular.forEach)中,它表示需要上下文:`angular.forEach(obj,iterator [,context]);` (2认同)