我正在尝试将我的数据保存在本地存储上,但是我收到错误 $ 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);
}
答案 0 :(得分:4)
这是我对上述问题的看法
$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。