Angularjs实现多个页面共享数据的方式


Posted in Javascript onMarch 29, 2016

废话不多说了,直接看干货吧。

使用service来共享数据

定义一个共享服务的service

//家电维修共享数据的服务 
angular.module("sqhApp").factory("repairDeviceDataShareServer",function($http,$state,$ionicPopup){ 
return { 
//缓存当前需要维修的设备名称、数量、唯一标识 
deviceRepairObj : [], 
//小区位置 
xiquLocation:{}, 
//预约时间 
appointmentDate:{ 
"date":"", 
"time":"" 
}, 
//预约日期界面回退到上一个界面的记录 
appointmentBackPage:"", 
//获取地址回退界面记录 
locationBackPage:"", 
//家电维修描述 
questionDesc:"", 
//确认预约 
confirmAppointment : function(resultJson){ 
var url = "/index.php/Wap/Homemake/createRepairOrder.html"; 
var p = $http.post(url,resultJson); 
p.success(function(response,header,config,status){ 
//提交订单成功 
if(response.status == 0){ 
//提示需要选择设备 
var alertPopup = $ionicPopup.alert({ 
title: '家电维修', 
template: response.msg 
}); 
alertPopup.then(function(res) { 
$state.go("appliance_index"); 
}); 
}else{ 
//提示需要选择设备 
var alertPopup = $ionicPopup.alert({ 
title: '家电维修', 
template: response.msg 
}); 
alertPopup.then(function(res) { 
}); 
} 
}); 
}, 
//确认预约提交的数据 
formData:{} 
}; 
});

跳转到一个新的页面,将repairDeviceDataShareServer注入到controller中

//预约时间控制器 
angular.module("sqhApp").controller("orderDateController", ["$scope", "$state", 
'$ionicPopup', 'repairDeviceDataShareServer','appointmentDateService', 
function ($scope, $state, $ionicPopup,repairDeviceDataShareServer,appointmentDateService) { 
$scope.lists=[]; 
//从服务器获取时间 
appointmentDateService.getAppointmentDateList($scope); 
//回退到上一个页面 
$scope.back = function(){ 
var backPage = repairDeviceDataShareServer.appointmentBackPage; 
//如果没有记录值,则跳转到家电清洗服务包目录 
if(backPage == ""){ 
$state.go("appliance_index"); 
}else{ 
$state.go(backPage); 
} 
} 
//选择时间 
$scope.selectTime = function(myevent){ 
var currentObj = $(myevent.target); 
currentObj.closest("div.time_list").find(".line_height_35px").removeClass("bg_fdd000 color_e5005a").addClass("bg_ff"); 
currentObj.addClass("bg_fdd000 color_e5005a").removeClass("bg_ff"); 
}; 
//选择日期 
$scope.selectDate = function(myevent){ 
var currentObj = $(myevent.target); 
currentObj.closest("div.overflow_hidden").find("div.float_left").removeClass("color_e5005a"); 
currentObj.closest("div.float_left").addClass("color_e5005a"); 
}; 
//确认时间日期 
$scope.confirmDateTime = function(){ 
var selectObjs = $(".bg_f8f8f8 .color_e5005a"); 
//获取日期对象 
var dateObj = $(selectObjs[0]); 
if(dateObj.length == 0){ 
alert("请选择日期"); 
return false; 
} 
//获取时间对象 
var timeObj = $(selectObjs[1]); 
if(timeObj.length == 0){ 
alert("请选择时间"); 
return false; 
} 
//repairDeviceDataShareServer.appointmentDate.date = dateObj; 
repairDeviceDataShareServer.appointmentDate.date = "2016-6-6"; 
repairDeviceDataShareServer.appointmentDate.time = timeObj.html(); 
this.back(); 
}; 
}]);

跳转到一个新的页面中,然后重置repairDeviceDataShareServer里面的数据

angular.module("sqhApp").controller("applianceIndexController", ["$scope", "$state","repairDeviceDataShareServer","applianceWashShareServer", function ($scope, $state, repairDeviceDataShareServer,applianceWashShareServer) { 
//初始化家电维修共享数据 
repairDeviceDataShareServer.deviceRepairObj = []; 
repairDeviceDataShareServer.xiquLocation = {}; 
repairDeviceDataShareServer.appointmentDate = {"date":"","time":""}; 
repairDeviceDataShareServer.appointmentBackPage = {}; 
repairDeviceDataShareServer.locationBackPage = {}; 
repairDeviceDataShareServer.formData = {}; 
repairDeviceDataShareServer.questionDesc = ""; 
//初始化家电清洗共享数据 
applianceWashShareServer.washType=""; 
applianceWashShareServer.formData={}; 
applianceWashShareServer.goodsSelected=[]; 
}]);

关于本文给大家分享的Angularjs实现多个页面共享数据的方式就给大家介绍这么多,希望对大家有所帮助!

Javascript 相关文章推荐
Javascript技术技巧大全(五)
Jan 22 Javascript
JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
May 13 Javascript
Jquery通过Ajax方式来提交Form表单的具体实现
Nov 07 Javascript
javascript阻止scroll事件多次执行的思路及实现
Nov 08 Javascript
jquery.gridrotator实现响应式图片展示画廊效果
Jun 23 Javascript
jQuery 如何给Carousel插件添加新的功能
Apr 18 Javascript
setTimeout学习小结
Feb 08 Javascript
微信小程序-获得用户输入内容
Feb 13 Javascript
详解Koa中更方便简单发送响应的方式
Jul 20 Javascript
微信小程序实现卡片左右滑动效果的示例代码
May 01 Javascript
Js on及addEventListener原理用法区别解析
Jul 11 Javascript
微信小程序中data-key属性之数据传输(经验总结)
Aug 22 Javascript
jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
Mar 29 #Javascript
JavaScript面向对象程序设计教程
Mar 29 #Javascript
jQuery实现图片加载完成后改变图片大小的方法
Mar 29 #Javascript
Web前端开发工具——bower依赖包管理工具
Mar 29 #Javascript
Jquery操作cookie记住用户名
Mar 29 #Javascript
jQuery简单实现提交数据出现loading进度条的方法
Mar 29 #Javascript
Javascript设计模式之观察者模式(推荐)
Mar 29 #Javascript
You might like
这东西价格,可以买几台TECSUN S-2000
2021/03/02 无线电
精通php的十大要点(上)
2009/02/04 PHP
php+ajax实现无刷新的新闻留言系统
2020/12/21 PHP
Yii2框架BootStrap样式的深入理解
2016/11/07 PHP
javascript中使用replaceAll()函数实现字符替换的方法
2010/12/25 Javascript
JS正则中的RegExp对象对象
2012/11/07 Javascript
jquery解析xml字符串示例分享
2014/03/25 Javascript
javascript学习笔记(六)数据类型和JSON格式
2014/10/08 Javascript
JavaScript实现的内存数据库LokiJS介绍和入门实例
2014/11/17 Javascript
AngularJS入门教程之Hello World!
2014/12/06 Javascript
JavaScript通过prototype给对象定义属性用法实例
2015/03/23 Javascript
深入浅析knockout源码分析之订阅
2016/07/12 Javascript
原生js实现简单的Ripple按钮实例代码
2017/03/24 Javascript
浅谈nodejs中的类定义和继承的套路
2017/07/26 NodeJs
浅谈如何使用 webpack 优化资源
2017/10/20 Javascript
基于axios封装fetch方法及调用实例
2018/02/05 Javascript
Angular 容器部署的方法
2018/04/17 Javascript
Layui实现主窗口和Iframe层参数传递
2019/11/14 Javascript
python 基础学习第二弹 类属性和实例属性
2012/08/27 Python
Python实现的递归神经网络简单示例
2017/08/11 Python
python SSH模块登录,远程机执行shell命令实例解析
2018/01/12 Python
Python中常见的异常总结
2018/02/20 Python
pandas带有重复索引操作方法
2018/06/08 Python
在ubuntu16.04中将python3设置为默认的命令写法
2018/10/31 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
2019/07/04 Python
TensorFlow实现打印每一层的输出
2020/01/21 Python
python pptx复制指定页的ppt教程
2020/02/14 Python
python读写文件write和flush的实现方式
2020/02/21 Python
Python中的整除和取模实例
2020/06/03 Python
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用
2013/07/30 面试题
暑期社会实践学生的自我评价
2014/01/09 职场文书
大学生暑期实践感言
2014/02/26 职场文书
公务员四风问题对照检查材料整改措施
2014/09/26 职场文书
2015年教师节演讲稿范文
2015/03/19 职场文书
学生安全责任协议书
2016/03/22 职场文书