3

Я пытаюсь сохранить свои данные на локальном хранилище, но я получаю ошибку $ localStorage.getItem не является функцией. Фактически я использую ионную инфраструктуру. Мне нужно хранить данные настойчиво и получать данные от стойкости. ngstorage.js .Я также включить этот модуль, но получаю ошибку неопределенную

получаю ошибку в этой строке return $localStorage.getItem("list"); Вот мой код https://dl.dropbox.com/s/l2dtrxmnsurccxt/www.zip?dl=0

(function(){ 
    'use strict'; 

    angular.module('app.stationselect').factory('stationListDownload', stationListDownload); 
    stationListDownload.$inject=['$http','$localStorage'] 
    function stationListDownload($http,$localStorage){ 
     var list; 
     return { 
      getDownloadList: function(){ 
       return $http.get("http://caht.firstrail.com/FGRailApps/jservices/rest/stationList"); 
      }, 
      getlist :function(){ 
       return $localStorage.getItem("list"); 
      }, 
      setList :function (list){ 
       this.list=list; 
      } 
     } 

    } 
})(); 

редактировать

var list= stationListDownload.getlist(); 
    if(list==null ||typeof list=='undefined'){ 
     stationListDownload.getDownloadList().then(function(data){ 
      $scope.loadingIndicator.hide(); 
      console.log("success") 
      $localStorage.setItem("list",JSON.stringify(data)); 
     },function(error){ 
      console.log("error") 
     }) 
    }else { 
     console.log('else condition') 
     cosole.log(list); 
    } 

ответ

4

Это моя мысль по данному вопросу

  • Думайте, что вы пропустили, чтобы ввести 'ngStorage' модуль.
  • Вместо $localStorage.getItem("list") вы можете использовать $localStorage.list.
  • Вместо $localStorage.setItem("list",JSON.stringify(data)); вы можете использовать $localStorage.list = data
+0

, пожалуйста, проверьте мое обновление – user944513

+0

, не могли бы вы проверить код https://dl.dropbox.com/s/l2dtrxmnsurccxt/www.zip?dl=0 – user944513

+0

dont use '$ localStorage.setItem (" list "," JSON.stringify (data)); вместо этого используйте '$ localStorage.list = data' –

1

Для библиотеки ngStorage, не существует getItem() метод, вы просто читать и писать, используя стандартный доступ к членам объекта:

getlist :function(){ 
    return $localStorage.list; 
}, 
setList :function (list){ 
    $localStorage.list=list; 
} 
+0

но как сохранить этот список – user944513

+0

Как только вы назначаете $ localStorage.list, он будет храниться в локальном хранилище браузера. Вам не нужно ничего делать - это просто работает. – Alan

+0

, пожалуйста, уточните мое обновление – user944513

0

Функция GetItem является для HTML5 LocalStorage. В вашем коде вы используете LocalStorage AngularJS $.

Значит, вы должны использовать $ localStorage.get ('list');

Для получения дополнительной информации о де AngularJS $ LocalStorage вы должны прочитать ->http://ghost.scriptwerx.io/angularjs-localstorage/

Update Только для AngularJS $localStorage. Вопрос заключается в локальном хранилище ngstorage.js.

+0

он использует 'ngstorage.js' не' angular-swx-local-storage.js' –

+0

Да, вы правы. Я видел это допоздна. – Ryter

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