关于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 相关文章推荐
从jQuery.camelCase()学习string.replace() 函数学习
Sep 13 Javascript
JavaScript 函数replace深入了解
Mar 14 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
Aug 10 Javascript
Jquery实现$.fn.extend和$.extend函数
Apr 14 Javascript
jQuery Tags Input Plugin(添加/删除标签插件)详解
Jun 20 Javascript
关于Javascript回调函数的一个妙用
Aug 29 Javascript
详解用node-images 打造简易图片服务器
May 08 Javascript
详解Angular 4.x NgTemplateOutlet
May 24 Javascript
vue中本地静态图片路径写法
Mar 06 Javascript
JS实现li标签的删除
Apr 12 Javascript
vant IndexBar实现的城市列表的示例代码
Nov 20 Javascript
js实现浏览器打印功能的示例代码
Jul 15 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
php开发环境配置记录
2011/01/14 PHP
apache php模块整合操作指南
2012/11/16 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
2016/10/25 PHP
php7基于递归实现删除空文件夹的方法示例
2017/06/15 PHP
php简单中奖算法(实例)
2017/08/15 PHP
PHP递归实现快速排序的方法示例
2017/12/18 PHP
Lumen timezone 时区设置方法(慢了8个小时)
2018/01/20 PHP
Javascript 拖拽的一些简单的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
Javascript中For In语句用法实例
2015/05/14 Javascript
jquery的幻灯片图片切换效果代码分享
2015/09/07 Javascript
jQuery处理XML文件的几种方法
2016/06/14 Javascript
JS定时器用法分析【时钟与菜单中的应用】
2016/12/21 Javascript
jquery mobile移动端幻灯片滑动切换效果
2020/04/15 Javascript
JavaScript提高加载和执行效率的方法
2017/02/03 Javascript
socket.io学习教程之深入学习篇(三)
2017/04/29 Javascript
React简单介绍
2017/05/24 Javascript
layui结合form,table的全选、反选v1.0示例讲解
2018/08/15 Javascript
原生JS+HTML5实现的可调节写字板功能示例
2018/08/30 Javascript
Vue-Router基础学习笔记(小结)
2018/10/15 Javascript
原生js实现Flappy Bird小游戏
2018/12/24 Javascript
JS面向对象编程——ES6 中class的继承用法详解
2020/03/03 Javascript
[55:04]海涛DOTA2死魂复燃6.82版本介绍
2014/09/28 DOTA
在Django中限制已登录用户的访问的方法
2015/07/23 Python
Python使用functools模块中的partial函数生成偏函数
2016/07/02 Python
Python序列操作之进阶篇
2016/12/08 Python
python使用arcpy.mapping模块批量出图
2017/03/06 Python
Python中变量的输入输出实例代码详解
2019/07/28 Python
浅谈Python 递归算法指归
2019/08/22 Python
python 窃取摄像头照片的实现示例
2021/01/08 Python
纯css实现照片墙3D效果的示例代码
2017/11/13 HTML / CSS
Everlast官网:拳击、综合格斗和健身相关的体育用品
2020/08/03 全球购物
财务部出纳岗位职责
2013/12/22 职场文书
会计工作总结范文2014
2014/12/23 职场文书
2015年禁毒工作总结
2015/04/30 职场文书
2015年保管员工作总结
2015/04/30 职场文书
销售人员管理制度
2015/08/06 职场文书