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 相关文章推荐
动态修改DOM 里面的 id 属性的弊端分析
Sep 03 Javascript
javascript 面向对象编程基础:继承
Aug 21 Javascript
Jquery chosen动态设置值实例介绍
Aug 08 Javascript
js实现的页面矩阵图形变换特效
Jan 26 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
Jan 31 Javascript
浅述节点的创建及常见功能的实现
Dec 15 Javascript
TableSort.js表格排序插件使用方法详解
Feb 10 Javascript
swiper动态改变滑动内容的实现方法
Jan 17 Javascript
JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】
Feb 21 Javascript
微信小程序和百度的语音识别接口详解
May 06 Javascript
vue实现一拉到底的滑动验证
Jul 25 Javascript
layer.open提交子页面的form和layedit文本编辑内容的方法
Sep 27 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
超小PHP小马小结(方便查找后门的朋友)
2012/05/05 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
2014/04/24 PHP
php头像上传预览实例代码
2017/05/02 PHP
php给数组赋值的实例方法
2019/09/26 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2007/02/15 Javascript
定义select的边框颜色
2008/04/28 Javascript
js 页面刷新location.reload和location.replace的区别小结
2009/12/24 Javascript
为你的网站增加亮点的9款jQuery插件推荐
2011/05/03 Javascript
JS仿百度自动下拉框模糊匹配提示
2016/07/25 Javascript
JS锚点的设置与使用方法
2016/09/05 Javascript
JS实现移动端判断上拉和下滑功能
2017/08/07 Javascript
微信小程序组件之srcoll-view的详解
2017/10/19 Javascript
JS中offset和匀速动画详解
2018/02/06 Javascript
vux uploader 图片上传组件的安装使用方法
2018/05/15 Javascript
浅谈VUE防抖与节流的最佳解决方案(函数式组件)
2019/05/22 Javascript
uni app仿微信顶部导航条功能
2019/09/17 Javascript
微信小程序可滑动周日历组件使用详解
2019/10/21 Javascript
js实现数据导出为EXCEL(支持大量数据导出)
2020/03/31 Javascript
vue 解决data中定义图片相对路径页面不显示的问题
2020/08/13 Javascript
解决VUE 在IE下出现ReferenceError: Promise未定义的问题
2020/11/07 Javascript
[45:25]完美世界DOTA2联赛循环赛 PXG vs IO 第一场 11.06
2020/11/09 DOTA
linux系统使用python监测系统负载脚本分享
2014/01/15 Python
Python写的PHPMyAdmin暴力破解工具代码
2014/08/06 Python
Python使用matplotlib实现在坐标系中画一个矩形的方法
2015/05/20 Python
Python如何快速实现分布式任务
2017/07/06 Python
Python3.6.2调用ffmpeg的方法
2019/01/10 Python
使用python模拟命令行终端的示例
2019/08/13 Python
Python猴子补丁知识点总结
2020/01/05 Python
css3动画鼠标放上图片逐渐变大鼠标离开图片逐渐缩小效果
2021/01/27 HTML / CSS
aden + anais英国官网:美国婴儿贴身用品品牌
2019/09/08 全球购物
公务员年总结的自我评价
2013/10/25 职场文书
行政复议决定书
2015/06/24 职场文书
2015中秋节晚会开场白
2015/07/30 职场文书
先进工作者主要事迹材料
2015/11/03 职场文书
python自动化八大定位元素讲解
2021/07/09 Python
浅谈如何保证Mysql主从一致
2022/03/13 MySQL