关于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 相关文章推荐
createElement动态创建HTML对象脚本代码
Nov 24 Javascript
JS Replace()的高级使用方法介绍
Jun 29 Javascript
利用JS延迟加载百度分享代码,提高网页速度
Jul 01 Javascript
Javascript学习指南
Dec 01 Javascript
JavaScript插件化开发教程 (四)
Jan 27 Javascript
Javascript中实现trim()函数的两种方法
Feb 04 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
Sep 11 Javascript
etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
Nov 09 Javascript
解析vue中的$mount
Dec 21 Javascript
JavaScript基础教程之如何实现一个简单的promise
Sep 11 Javascript
node实现mock-plugin中间件的方法
Dec 25 Javascript
Angular性能优化之第三方组件和懒加载技术
May 10 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
咖啡知识 咖啡养豆要养多久 排气又是什么
2021/03/06 新手入门
PHP在innodb引擎下快速代建全文搜索功能简明教程【基于xunsearch】
2016/10/14 PHP
浅谈Laravel核心解读之Console内核
2018/12/02 PHP
PHP 裁剪图片
2021/03/09 PHP
可以支持多中格式的JS键盘
2007/05/02 Javascript
JQuery Study Notes 学习笔记(一)
2010/08/04 Javascript
分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
2011/09/21 Javascript
JavaScript起点(严格模式深度了解)
2013/01/28 Javascript
js用typeof方法判断undefined类型
2014/07/15 Javascript
JavaScript获取页面中表单(form)数量的方法
2015/04/03 Javascript
JS动态创建元素的两种方法
2016/04/20 Javascript
关于js函数解释(包括内嵌,对象等)
2016/11/20 Javascript
JavaScript装饰器函数(Decorator)实例详解
2017/03/30 Javascript
原生JS实现网页手机音乐播放器 歌词同步播放的示例
2018/02/02 Javascript
nodejs的安装使用与npm的介绍
2019/09/11 NodeJs
jstree中的checkbox默认选中和隐藏示例代码
2019/12/29 Javascript
微信小程序新闻网站详情页实例代码
2020/01/10 Javascript
基于canvasJS在PHP中制作动态图表
2020/05/30 Javascript
python实现的解析crontab配置文件代码
2014/06/30 Python
Python实现向QQ群成员自动发邮件的方法
2014/11/19 Python
python抽象基类用法实例分析
2015/06/04 Python
详解Python中的静态方法与类成员方法
2017/02/28 Python
Python 实现随机数详解及实例代码
2017/04/15 Python
《Python学习手册》学习总结
2018/01/17 Python
Django 通过JS实现ajax过程详解
2019/07/30 Python
详解HTML5中ol标签的用法
2015/09/08 HTML / CSS
HTML5标签嵌套规则详解【必看】
2016/04/26 HTML / CSS
Right-on官方网站:日本知名的休闲服装品牌
2019/07/12 全球购物
如何用Python来进行查询和替换一个文本字符串
2014/01/02 面试题
初中生学习的自我评价
2013/11/14 职场文书
如何填写个人简历自我评价
2013/12/10 职场文书
《四季》教学反思
2014/04/08 职场文书
地理科学专业自荐信
2014/09/01 职场文书
基于Redis结合SpringBoot的秒杀案例详解
2021/10/05 Redis
Spring Boot 实现 WebSocket
2022/04/30 Java/Android
基于Python实现nc批量转tif格式
2022/08/14 Python