私はこの新しいAngularJSプロジェクトでngStorage(localStorage)を使用していますが、なぜ私は以下のメッセージが表示されているのかよくわかりません。私は追加ボタンをクリックするたびにこれを取得します。TypeError:undefinedのunshiftプロパティを読み取ることができませんAngularJS
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には「お気に入り」というプロパティはありません。戻りオブジェクトに追加します。 –
localStorage.favoritesが存在しないためです。リターン{ のgetAll:_getAll、 追加:_ADD、 削除:_REMOVE、StorageService:$ localStorage.favorites } –
StorageServiceは – sam1188