如何删除此错误(获取错误$ localStorage.getItem不是一个函数)?

时间:2015-04-21 06:54:18

标签: angularjs angularjs-directive angularjs-scope ionic-framework ionic

我正在尝试将我的数据保存在本地存储上,但是我收到错误 $ 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);
    }

3 个答案:

答案 0 :(得分:4)

这是我对上述问题的看法

  • 请您错过注入' ngStorage' 模块。
  • 您可以使用$localStorage.getItem("list")
  • 代替$localStorage.list
  • 您可以使用$localStorage.setItem("list",JSON.stringify(data));
  • 代替$localStorage.list = data

答案 1 :(得分:1)

对于ngStorage库,没有getItem()方法,您只需使用标准对象成员访问进行读写:

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

答案 2 :(得分:0)

Function getItem用于HTML5 localStorage。在您的代码中,您使用AngularJS $ localStorage。

所以你应该使用$ localStorage.get(' list');

有关de AngularJS $ localStorage的更多信息,请阅读此内容 - > http://ghost.scriptwerx.io/angularjs-localstorage/

<强>更新 仅适用于AngularJS $localStorage。问题是ngstorage.js localStorage。