2013-07-31 2 views
2

Я пытаюсь выполнить итерацию через локальное хранилище и добавить к модели внутри своего контроллера.

angular.forEach(localStorage,function(value,key){ 
    $scope.cats.push(localStorageService.get(key)); 
}); 

Однако, когда я запускаю этот код я получаю

TypeError: Cannot set property 'cats' of undefined

Я предполагаю, что я изо всех сил, чтобы понять концепции сферы в этом.

+0

Я думаю, вам нужно запросить localStorage, чтобы сначала получить данные, используя 'localStorage.get ('ее ключ');' – zsong

+0

Вы правы в том, что часть вопроса неверна, я немного возился и не изменил его. Я отредактировал вопрос. Исходная проблема по-прежнему сохраняется, хотя $ scope не определен. –

+0

Не могли бы вы разместить весь контроллер? –

ответ

5

Fixed это так:

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

Не уверен, если это верно в угловом пути.

+2

Да. В [doc] (http://docs.angularjs.org/api/angular.forEach) он говорит, что необходим контекст: 'angular.forEach (obj, iterator [, context]);' – zsong

+0

Скобки вокруг параметр «context» указывает, что он должен быть необязательным. –

Смежные вопросы