Angular页面刷新保存变量数据,运用localstorage

项目中遇到一个问题,网上说的不清不楚的。app

一个列表页面跳转到另外一个详细页面传递一个id,要求刷新当前页面时用刚才跳转过来的id再访问一遍数据接口,这时须要把数据保存到localstorage中spa

一、新建一个service: localStorage.service.jslocalstorage

 1 (function() {
 2     'use strict';
 3 
 4     angular.module('app').factory('LocalStorageService',['$window',function($window){
 5           var service = {};
 6 
 7           service.setLocalStorage = setLocalStorage;
 8           service.getLocalStorage = getLocalStorage;
 9           service.setLocalStorageObject = setLocalStorageObject;
10           service.getLocalStorageObject = getLocalStorageObject;
11 
12           function setLocalStorage(key,value){
13             $window.localStorage[key]=value;
14           }
15           
16           function getLocalStorage(key,defaultValue){
17             return  $window.localStorage[key] || defaultValue;
18           }
19                  //存储对象,以JSON格式存储
20           function setLocalStorageObject(key,value){
21             $window.localStorage[key]=JSON.stringify(value);
22           }
23                 //读取对象
24           function getLocalStorageObject(key) {
25             return JSON.parse($window.localStorage[key] || '{}');
26           }
27 
28           return service;
29         }]);
30 })()

二、在须要用到的地方配置并引入这个service,项目不一样但原理都同样,去查看angular关于service的文档,不作说明code

三、使用对象

LocalStorageService.setLocalStorage("id",param.id);
LocalStorageService.getLocalStorage("id");
相关文章
相关标签/搜索