关于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 相关文章推荐
模拟用户操作Input元素,不会触发相应事件
May 11 Javascript
犀利的js 函数集合
Jun 11 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
Apr 27 Javascript
javascript设置连续两次点击按钮时间间隔的方法
Oct 28 Javascript
jquery实现动态改变div宽度和高度
May 08 Javascript
JavaScript对象数组排序实例方法浅析
Jun 15 Javascript
JavaScript实现简单的日历效果
Sep 25 Javascript
vue实现app页面切换动画效果实例
May 23 Javascript
详解Vue组件之间的数据通信实例
Jun 17 Javascript
Angular2的管道Pipe的使用方法
Nov 07 Javascript
修改npm全局安装模式的路径方法
May 15 Javascript
微信小程序实现漂亮的弹窗效果
May 26 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
第4章 数据处理-php字符串的处理-郑阿奇(续)
2011/07/04 PHP
PHP中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
php中namespace use用法实例分析
2016/01/22 PHP
PHP中STDCLASS用法实例分析
2016/11/11 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
2019/10/02 PHP
学习ExtJS(二) Button常用方法
2009/10/07 Javascript
获取body标签的两种方法
2011/10/13 Javascript
js运动框架_包括图片的淡入淡出效果
2013/05/11 Javascript
JS下拉缓冲菜单示例代码
2013/08/30 Javascript
基于javascript实现判断移动终端浏览器版本信息
2014/12/09 Javascript
jQuery属性选择器用法示例
2016/09/09 Javascript
Web前端开发之水印、图片验证码
2016/11/27 Javascript
Bootstrap php制作动态分页标签
2016/12/23 Javascript
一个炫酷的Bootstrap导航菜单
2016/12/28 Javascript
JS回调函数简单用法示例
2017/02/09 Javascript
vue.js中父组件调用子组件的内部方法示例
2017/10/22 Javascript
详解JSON Web Token 入门教程
2018/07/30 Javascript
JS实现移动端点击按钮复制文本内容
2019/07/28 Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
2019/11/26 jQuery
jQuery实现轮播图效果demo
2020/01/11 jQuery
javascript 内存模型实例详解
2020/04/18 Javascript
微信小程序实现选项卡滑动切换
2020/10/22 Javascript
详解Python网络爬虫功能的基本写法
2016/01/28 Python
Python引用传值概念与用法实例小结
2017/10/07 Python
python实现抖音视频批量下载
2018/06/20 Python
python3爬虫怎样构建请求header
2018/12/23 Python
python可视化实现KNN算法
2019/10/16 Python
哪种Python框架适合你?简单介绍几种主流Python框架
2020/08/04 Python
使用HTML5在网页中嵌入音频和视频播放的基本方法
2016/02/22 HTML / CSS
Html5新标签datalist实现输入框与后台数据库数据的动态匹配
2017/05/18 HTML / CSS
妇女干部培训方案
2014/05/12 职场文书
建筑安全责任书范本
2014/07/24 职场文书
《中国古代诗歌散文欣赏》高中语文教材
2019/08/20 职场文书
创业计划书之甜品店
2019/09/18 职场文书
MySQL库表太大怎么办? 数据库分库分表项目实践
2022/04/11 MySQL