【发布时间】:2017-06-09 01:27:58
【问题描述】:
每次我们需要存储一个对象时,我们都需要做一个JSON.stringify。
Ionic 和 AngularJS 中是否有有效的方法来执行此操作?
我使用的代码是:
$window.localStorage[key] = value;
【问题讨论】:
标签: javascript angularjs ionic-framework local-storage
每次我们需要存储一个对象时,我们都需要做一个JSON.stringify。
Ionic 和 AngularJS 中是否有有效的方法来执行此操作?
我使用的代码是:
$window.localStorage[key] = value;
【问题讨论】:
标签: javascript angularjs ionic-framework local-storage
执行上述操作最有效的方法是创建一个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
}
})()
【讨论】: