每当我们需要存储一个对象时,我们需要做JSON.stringify
。
在Ionic
和AngularJS
中有一种有效的方法吗?
我使用的代码是:
$window.localStorage[key] = value;
答案 0 :(得分:2)
执行上述操作的最有效方法是创建factory
然后访问它:
(function(){
'use strict';
var yourApp = angular.module('yourApp');
yourApp.factory('$localStorage', ['$window', function($window) {
return {
store: function(key, value) {
$window.localStorage[key] = value;
},
get: function(key, defaultValue) {
return $window.localStorage[key] || defaultValue;
},
storeObject: function(key, value) {
$window.localStorage[key] = JSON.stringify(value);
},
getObject: function(key,defaultValue) {
return JSON.parse($window.localStorage[key] || defaultValue);
}
}
}])
})()
然后它可以在控制器中使用,如:
(function(){
var app = angular.module('yourApp');
var appCtrl = app.controller('AppCtrl', AppCtrl);
appCtrl.$inject = ['$localStorage'];
function appCtrl($localStorage){
$localStorage.get("yourVariable");
$localStorage.getObject("yourObject");
$localStorage.set("yourVariable");
$localStorage.setObject(yourObject); //can be a JSON object
}
})()