我正在使用ngStorage(localStorage)處理這個新的AngularJS項目,但不太清楚爲什麼我會收到下面的消息。每當我點擊我的添加按鈕時,我會得到這個。TypeError:無法讀取未定義AngularJS的屬性'unshift'
TypeError: Cannot read property 'unshift' of undefined AngularJS
以下是我的代碼。有人可以解釋爲什麼這個錯誤發生?
.factory ('StorageService', function($localStorage) {
$localStorage = $localStorage.$default({
favorites: []
});
var _getAll = function() {
return $localStorage.favorites;
};
var _add = function (color) {
$localStorage.favorites.unshift(color);
}
var _remove = function (color) {
$localStorage.favorites.splice(index, 1);
}
return {
getAll: _getAll,
add: _add,
remove: _remove
};
})
控制器
.controller('HomeCtrl', function($scope, $localStorage, dataService, StorageService) {
$scope.add = function (color) {
StorageService.add(StorageService.favorites.unshift(dataService.colors.indexOf(color)));
console.log(color);
};
)};
StorageService沒有名爲favorites的屬性..將它添加到返回對象。 –
這是因爲localStorage.favorites不存在。 –
StorageService僅公開什麼返回(GETALL,添加,刪除) – sam1188