Javascript 如何在不每次转换对象的情况下高效地将数据存储在离子本地存储器中?
每次我们需要存储一个对象时,我们都需要执行Javascript 如何在不每次转换对象的情况下高效地将数据存储在离子本地存储器中?,javascript,angularjs,ionic-framework,local-storage,Javascript,Angularjs,Ionic Framework,Local Storage,每次我们需要存储一个对象时,我们都需要执行JSON.stringify 在Ionic和AngularJS中有没有一种有效的方法可以做到这一点 我使用的代码是: $window.localStorage[key] = value; 执行上述操作的最有效方法是创建一个工厂,然后访问它: (function(){ 'use strict'; var yourApp = angular.module('yourApp'); yourApp.factory('$localSt
JSON.stringify
在Ionic
和AngularJS
中有没有一种有效的方法可以做到这一点
我使用的代码是:
$window.localStorage[key] = value;
执行上述操作的最有效方法是创建一个
工厂
,然后访问它:
(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
}
})()
执行上述操作的最有效方法是创建一个
工厂
,然后访问它:
(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
}
})()