关于AngularJs数据的本地存储详解


Posted in Javascript onJanuary 20, 2017

第一、创建一个factory来储存和调取你的数据(你可以单独创建一个js文件,按照语义命名如:dataService.js。然后在你的主页面引入这个JS文件)

<!--引入到你的主页面里面-->
<script src="dataService.js"></script>
创建一个factory
'use strict';
angular.module('myApp')
.factory('datadService',['$window',function($window) {
 return{ 
 //存储单个属性
  set :function(key,value){
  $window.localStorage[key]=value;
  }, 
  //读取单个属性
  get:function(key,defaultValue){
  return $window.localStorage[key] || defaultValue;
  }, 
  //存储对象,以JSON格式存储
  setObject:function(key,value){
  $window.localStorage[key]=JSON.stringify(value);
  }, 
  //读取对象
  getObject: function (key) {
  return JSON.parse($window.localStorage[key] || '{}');
  }
 }
}]);

第二、将你创建的这个方法模块【datadService】注入到你要控制器中如下的控制器为【productCtrl】,下面我们创建一个set.js文件,里面代码如下:

'use strict';
angular.module('myApp').controller(
 'productCtrl',
 [ '$scope','datadService',
 function($scope, datadService) {
 $scope.appiAppType = 1;
 //这里面$scope.appiAppType的赋值同样可以通过$http.post或者$http.get
 //等方法返回的参数去赋值,例子如下:
 //$http.post('这里是你所要访问的接口【URL】',这里是你想要上传的参数).success(function(data){
   // $scope.appiAppType = data;
   //});
 datadService.setObject("lodinData", $scope.appiAppType);// 将你获取来的数据存储到你之前创建的【datadService】中,这里面的【lodinData】是KEY(个人理解就是你把数据存到大箱子里面这个箱子就是【datadService】,为了方便在这个箱子里面更好的寻找你想要的数据就给他一个小标签,那就是【lodinData】)
 } ]);

第三、关于存储好的数据如何在不同的控制其中获取到,下面我们创建一个get.js,里面代码如下:

'use strict';
//首先大家要把之前创建好的模块也就是那个装数据的箱子【datadService】放到这个控制器中(也就是模块注入)
//其次大家通过之前咱们设定的标签【lodinData】,用【getObject('key')】方法取到你想要的数据;
//具体实现就一行代码:datadService.getObject('lodinData');「注:把箱子拿出来(datadService)用(getObject)去拿你的这个(lodinData)标签下的数据」
angular.module('myApp').controller(
 'completeCtrl',
 [ '$scope', 'datadService',
 function($scope, datadService) {
 //我们这里取到来上面已经存好的数据:【datadService.getObject('lodinData');】并且把这个数据赋值给了【$scope.LoginList】
 $scope.LoginList = datadService.getObject('lodinData');
 //这里大家可以打印一下$scope.LoginList 看看里面是什么;
 alert(JSON.stringify($scope.LoginList))
 } ]);

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
javascript 函数式编程
Aug 16 Javascript
jQuery toggle()设置CSS样式
Nov 05 Javascript
javascript 精粹笔记
May 09 Javascript
javascript new后的constructor属性
Aug 05 Javascript
javascript getElementsByClassName实现代码
Oct 11 Javascript
js中window.open打开一个新的页面
Aug 10 Javascript
jQuery中map()方法用法实例
Jan 06 Javascript
jquery实现鼠标滑过显示提示框的方法
Feb 05 Javascript
深入理解JavaScript系列(34):设计模式之命令模式详解
Mar 03 Javascript
Vue2.0 slot分发内容与props验证的方法
Dec 12 Javascript
p5.js绘制创意自画像
Nov 04 Javascript
JavaScript实现刮刮乐效果
Nov 01 Javascript
html5 canvas 详细使用教程
Jan 20 #Javascript
canvas绘制万花筒效果(代码分享)
Jan 20 #Javascript
原生js实现网页顶部自动下拉/收缩广告效果
Jan 20 #Javascript
Angular.js中ng-if、ng-show和ng-hide的区别介绍
Jan 20 #Javascript
轻松理解Javascript变量的相关问题
Jan 20 #Javascript
js+css3实现旋转效果
Jan 20 #Javascript
Bootstrap 手风琴菜单的实现代码
Jan 20 #Javascript
You might like
人工智能开始玩《星际争霸2》 你的操作跟得上吗?
2017/08/11 星际争霸
PHP中使用GD库绘制折线图 折线统计图的绘制方法
2015/11/09 PHP
解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
2019/10/15 PHP
Maps Javascript
2007/01/22 Javascript
javascript 面向对象全新理练之数据的封装
2009/12/03 Javascript
jQuery中绑定事件的命名空间详解
2011/04/05 Javascript
Jqgrid表格随窗口大小改变而改变的简单实例
2013/12/28 Javascript
jQuery实现ichat在线客服插件
2014/12/29 Javascript
jQuery动态背景图片效果实现方法
2015/07/03 Javascript
js实现可旋转的立方体模型
2016/10/16 Javascript
JS实现JSON.stringify的实例代码讲解
2017/02/07 Javascript
vuex中使用对象展开运算符的示例
2017/09/25 Javascript
laydate时间日历插件使用方法详解
2018/11/14 Javascript
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
Node.js爬虫如何获取天气和每日问候详解
2019/08/26 Javascript
JavaScript定时器使用方法详解
2020/03/26 Javascript
[48:21]Mski vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python设计模式编程中解释器模式的简单程序示例分享
2016/03/02 Python
浅谈Python 多进程默认不能共享全局变量的问题
2019/01/11 Python
pytorch标签转onehot形式实例
2020/01/02 Python
Python对Tornado请求与响应的数据处理
2020/02/12 Python
python基于win32api实现键盘输入
2020/12/09 Python
NICKIS.com荷兰:设计师儿童时装
2020/01/08 全球购物
日本最大的彩色隐形眼镜销售网站:CharmColor
2020/09/09 全球购物
高三毕业生自我鉴定
2013/12/20 职场文书
员工拾金不昧表扬信
2014/01/09 职场文书
五年级数学教学反思
2014/02/11 职场文书
安全教育实施方案
2014/03/02 职场文书
经典婚礼主持词
2014/03/13 职场文书
新年晚会主持词
2014/03/24 职场文书
演讲稿的写法
2014/05/19 职场文书
党员干部一句话承诺
2014/05/30 职场文书
小学班级口号
2014/06/09 职场文书
道歉情书大全
2015/05/12 职场文书
2015年小学二年级班主任工作总结
2015/05/21 职场文书
python树莓派通过队列实现进程交互的程序分析
2021/07/04 Python