关于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 相关文章推荐
去除链接虚线全面分析总结
Aug 15 Javascript
用javascript实现的激活输入框后隐藏初始内容
Jun 29 Javascript
jquerymobile checkbox及时刷新才能获取其准确值
Apr 14 Javascript
JavaScript获取一个范围内日期的方法
Apr 24 Javascript
javascript实现框架高度随内容改变的方法
Jul 23 Javascript
Bootstrap中的Dropdown下拉菜单更改为悬停(hover)触发
Aug 31 Javascript
js实现点击每个li节点,都弹出其文本值及修改
Dec 15 Javascript
React Native AsyncStorage本地存储工具类
Oct 24 Javascript
小程序异步问题之多个网络请求依次执行并依次收集请求结果
May 05 Javascript
Vue+Typescript中在Vue上挂载axios使用时报错问题
Aug 07 Javascript
vue自动化路由的实现代码
Sep 30 Javascript
vue基于Echarts的拖拽数据可视化功能实现
Dec 04 Vue.js
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使用 readfile() 函数设置文件大小大小的方法
2017/08/11 PHP
PHP实现在对象之外访问其私有属性private及保护属性protected的方法
2017/11/20 PHP
js调用AJAX时Get和post的乱码解决方法
2013/06/04 Javascript
from 表单提交返回值用post或者是get方法实现
2013/08/21 Javascript
javascript中$(function() {});写与不写有哪些区别
2015/08/10 Javascript
微信js-sdk预览图片接口及从拍照或手机相册中选图接口用法示例
2016/10/13 Javascript
jQuery和JavaScript节点插入元素的方法对比
2016/11/18 Javascript
原生js实现中奖信息无间隙滚动效果
2017/01/18 Javascript
javascript中mouseenter与mouseover的异同
2017/06/06 Javascript
Angularjs的$http异步删除数据详解及实例
2017/07/27 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
2017/09/06 Javascript
解决vue点击控制单个样式的问题
2018/09/05 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
2019/07/15 Javascript
JS实现简单tab选项卡切换
2019/10/25 Javascript
js实现文章目录索引导航(table of content)
2020/05/10 Javascript
关于vue属性使用和不使用冒号的区别说明
2020/10/22 Javascript
python实现bitmap数据结构详解
2014/02/17 Python
跟老齐学Python之有容乃大的list(3)
2014/09/15 Python
跟老齐学Python之dict()的操作方法
2014/09/24 Python
Python中集合的内建函数和内建方法学习教程
2015/08/19 Python
python&amp;MongoDB爬取图书馆借阅记录
2016/02/05 Python
利用Python画ROC曲线和AUC值计算
2016/09/19 Python
python实现word 2007文档转换为pdf文件
2018/03/15 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
详解Django 中是否使用时区的区别
2018/06/14 Python
python如何生成各种随机分布图
2018/08/27 Python
Python3爬虫学习之应对网站反爬虫机制的方法分析
2018/12/12 Python
Pytorch之卷积层的使用详解
2019/12/31 Python
Python3实现发送邮件和发送短信验证码功能
2020/01/07 Python
Python发送手机动态验证码代码实例
2020/02/28 Python
详解如何修改python中字典的键和值
2020/09/29 Python
Python 实现PS滤镜中的径向模糊特效
2020/12/03 Python
css3针对移动端卡顿问题的解决(动画性能优化)
2020/02/14 HTML / CSS
新年团拜会主持词
2014/04/02 职场文书
学生实习证明模板汇总
2014/09/25 职场文书
员工升职自荐信
2015/03/27 职场文书