关于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 15 Javascript
Js 时间间隔计算的函数(间隔天数)
Nov 15 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
Mar 19 Javascript
只需五句话搞定JavaScript作用域(经典)
Jul 26 Javascript
JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
Mar 03 Javascript
Node.js开发第三方微信公众平台
Jun 05 Javascript
JS实现小球的弹性碰撞效果
Nov 11 Javascript
VueJs 将接口用webpack代理到本地的方法
Nov 27 Javascript
LayerClose弹窗关闭刷新方法
Aug 17 Javascript
vue组件开发之slider组件使用详解
Aug 21 Javascript
多种类型jQuery网页验证码插件代码实例
Jan 09 jQuery
Ajax实现页面无刷新留言效果
Mar 24 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
PHP5中Cookie与 Session使用详解
2013/04/30 PHP
php用header函数实现301跳转代码实例
2013/11/25 PHP
PHP 如何获取二维数组中某个key的集合
2014/06/03 PHP
收藏Javascript中常用的55个经典技巧
2007/08/12 Javascript
jquery 与NVelocity 产生冲突的解决方法
2011/06/13 Javascript
jQuery-Easyui 1.2 实现多层菜单效果的代码
2012/01/13 Javascript
JS实现在网页中弹出一个输入框的方法
2015/03/03 Javascript
JavaScript动态修改网页元素内容的方法
2015/03/21 Javascript
javascript基于DOM实现权限选择实例分析
2015/05/14 Javascript
理解JavaScript中Promise的使用
2016/01/18 Javascript
js中遍历Map对象的方法
2016/07/27 Javascript
基于JavaScript实现窗口拖动效果
2017/01/18 Javascript
原生JS实现圣旨卷轴展开效果
2017/03/06 Javascript
js中的触发事件对象event.srcElement与event.target详解
2017/03/15 Javascript
shiro授权的实现原理
2017/09/21 Javascript
JS实现非首屏图片延迟加载的示例
2018/01/06 Javascript
angularjs中$http异步上传Excel文件方法
2018/02/23 Javascript
vue-cli与webpack处理静态资源的方法及webpack打包的坑
2018/05/15 Javascript
详解Vue后台管理系统开发日常总结(组件PageHeader)
2019/11/01 Javascript
webpack是如何实现模块化加载的方法
2019/11/06 Javascript
JavaScript中变量提升机制示例详解
2019/12/27 Javascript
原生JS实现留言板
2020/03/26 Javascript
[03:14]DOTA2斧王 英雄基础教程
2013/11/26 DOTA
python uuid模块使用实例
2015/04/08 Python
Django小白教程之Django用户注册与登录
2016/04/22 Python
简单掌握Python中glob模块查找文件路径的用法
2016/07/05 Python
django+mysql的使用示例
2018/11/23 Python
django-rest-framework 自定义swagger过程详解
2019/07/18 Python
Tensorflow之梯度裁剪的实现示例
2020/03/08 Python
django之从html页面表单获取输入的数据实例
2020/03/16 Python
利用python实现凯撒密码加解密功能
2020/03/31 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
2020/06/30 Python
scrapy结合selenium解析动态页面的实现
2020/09/28 Python
最新奶茶店创业计划书
2014/01/25 职场文书
企业文化学习心得体会
2016/01/21 职场文书
css3 filter属性的使用简介
2021/03/31 HTML / CSS