关于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读取html5 localstorage的值的方法
Jan 04 Javascript
javascript-简单的计算器实现步骤分解(附图)
May 30 Javascript
特殊情况下如何获取span里面的值
May 20 Javascript
原生javascript实现的分页插件pagenav
Aug 28 Javascript
js 将input框中的输入自动转化成半角大写(税号输入框)
Feb 16 Javascript
浅谈Vue.js应用的四种AJAX请求数据模式
Aug 30 Javascript
React中嵌套组件与被嵌套组件的通信过程
Jul 11 Javascript
什么时候不能在 Node.js 中使用 Lock Files
Jun 24 Javascript
React-redux实现小案例(todolist)的过程
Sep 29 Javascript
基于javascript实现贪吃蛇经典小游戏
Apr 10 Javascript
javascript实现蒙版与禁止页面滚动
Jan 11 Javascript
vue props 一次传多个值实例
Jul 22 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
MySQL GBK→UTF-8编码转换
2007/05/24 PHP
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
2013/06/05 PHP
php防止伪造的数据从URL提交方法
2014/06/27 PHP
Adnroid 微信内置浏览器清除缓存
2016/07/11 PHP
php抛出异常与捕捉特定类型的异常详解
2016/10/26 PHP
PHP使用GD库输出汉字的方法【测试可用】
2016/11/10 PHP
Laravel框架模板加载,分配变量及简单路由功能示例
2018/06/11 PHP
mouse_on_title.js
2006/08/25 Javascript
jquery选择符快速提取web表单数据示例
2014/03/27 Javascript
js获取滚动距离的方法
2015/05/30 Javascript
JavaScript中split与join函数的进阶使用技巧
2016/05/03 Javascript
BootStrap无限级分类(无限极分类封装版)
2016/08/26 Javascript
微信小程序 Record API详解及实例代码
2016/09/30 Javascript
Vue2.0用户权限控制解决方案
2017/11/29 Javascript
修改Nodejs内置的npm默认配置路径方法
2018/05/13 NodeJs
Vue监听数据渲染DOM完以后执行某个函数详解
2018/09/11 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
Python中实现从目录中过滤出指定文件类型的文件
2015/02/02 Python
python编程实现归并排序
2017/04/14 Python
详解python校验SQL脚本命名规则
2019/03/22 Python
对python3 Serial 串口助手的接收读取数据方法详解
2019/06/12 Python
Python何时应该使用Lambda函数
2019/07/02 Python
python实现证件照换底功能
2019/08/20 Python
Python基于smtplib协议实现发送邮件
2020/06/03 Python
结束运行python的方法
2020/06/16 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
HTML5学习笔记之html5与传统html区别
2016/01/06 HTML / CSS
什么是聚集索引和非聚集索引
2012/01/17 面试题
父亲追悼会答谢词
2014/01/17 职场文书
《愚公移山》教学反思
2014/02/20 职场文书
5s标语大全
2014/06/23 职场文书
2015年售票员工作总结
2015/04/29 职场文书
Python opencv缺陷检测的实现及问题解决
2021/04/24 Python
深入浅析Django MTV模式
2021/09/04 Python
SpringBoot系列之MongoDB Aggregations用法详解
2022/02/12 MongoDB
Python实现猜拳与猜数字游戏的方法详解
2022/04/06 Python