(function(){
angular.module("cakeStore", ["ngRoute", "ionic","cookieServiceModule","localStorageServiceModule","configModule", "getcakeDataModule","cakeListCtrlModule","cakecarModule", "cakeDetailCtrlModule","userModelModule","userModule","orderModule","reloModule","orderModule","submitdanModule","myModule"])
.service("shopcarData", ["localStorageService", function(localStorageService){
var data = localStorageService.getData("shopcar");
if (data) {
this.data = data;
} else {
this.data = {};
}
}])
.controller("cakeCtrl",["$rootScope","$scope","$location","shopcarData","localStorageService","$ionicSideMenuDelegate","$ionicPopup","cookieService","getcakeData","$routeParams",function($rootScope,$scope,$location,shopcarData,localStorageService,$ionicSideMenuDelegate,$ionicPopup,cookieService,getcakeData,$routeParams){

/**/
$rootScope.$on('$routeChangeSuccess',
function() {
var route = window.location.href;
if(route.indexOf('/cakeDetail/') != -1){
$scope.det = true;
}else{
$scope.det = false;
}
}
);
/**/
$scope.countShopcar = 0;
//监听购物车信息变化
$scope.$watch(function(){
return shopcarData.data;
}, function(){
var num = 0;
var total = 0;
for (var i in shopcarData.data) {
num ++;
total += shopcarData.data[i].cake_price * shopcarData.data[i].shopcar_num;
}
$scope.countShopcar = num; //改变购物车数量
$scope.total = total; //改变总价

//把购物车信息填入缓存
localStorageService.setData('shopcar', shopcarData.data);

}, true);

getcakeData.requestData("cate.php",{},function(data){
$scope.cates = data;
console.log($scope.cates);
},function(error){
console.log(error);
})

$scope.gotoShopcar = function(){
if(cookieService.getCookie("user")==undefined){
var alertPopup = $ionicPopup.alert({
template:'请用户登录账号'
});

$location.path("relo");

}else{
$location.path("shopcar");
}

}
$scope.toggleLeft = function() {
$ionicSideMenuDelegate.toggleLeft();
};
//退出登录
$scope.logout = function(){
var user = {};

user.username = cookieService.getCookie('user');

$scope.user = user;

//删除cookie
cookieService.deleteCookie("user");
shopcarData.data={ };
//删除数据
$scope.user.username = false;
}

}])
.controller("mainCtrl",["$scope","cookieService","shopcarData",function($scope,cookieService,$ionicSideMenuDelegate,shopcarData){
var user = {};

user.username = cookieService.getCookie('user');

$scope.user = user;

// console.log($scope.user.username);

}])

})()

ionic 监听路由事件变化的更多相关文章

  1. angular的路由和监听路由的变化和用户超时的监听

    先看两篇博客:http://camnpr.com/javascript/1652.html 这一篇博客是重点中的重点:                   http://www.tuicool.com ...

  2. vue中监听路由参数变化

    今天遇到一个这样的业务场景:在同一个路由下,只改变路由后面的参数值, 比如在这个页面  /aaa?id=1 ,在这个页面中点击一个按钮后 跳转到 /aaa?id=2 , 但从“/aaa?id=1”到“ ...

  3. react如何监听路由url变化

    "componentWillReceiveProps" "shouldComponentUpdate" "componentWillUpdate&qu ...

  4. vue监听路由的变化,跳转到同一个页面时,Url改变但视图未重新加载问题

    引入:https://q.cnblogs.com/q/88214/ 解决方法: 添加路由监听,路由改变时执行监听方法 methods:{ fetchData(){ console.log('路由发送变 ...

  5. 如何使用Curator监听zookeeper事件变化

    掌握zookeeper事件监听机制,非常重要,可以说是跨入了进阶的门槛,只有掌握了如何监听某个节点或路径,我们才能在节点变化后,做一些我们想做的事,包括: 1,配置文件同步 2,主从切换 3,分布式队 ...

  6. vue-watch监听路由的变化

  7. vue同一个路由,但参数发生变化,页面不刷新的问题(vue监听路由参数变化重新渲染页面)

    watch: { $route: function(newVal, oldVal) { console.log(oldVal); //oldVa 上一次url console.log(newVal); ...

  8. vue3 监听路由($route)变化

      setup() {      // ...   },   watch: {     $route(m, n) {       console.log('mm', m)       console. ...

  9. Angular 监听路由变化事件

    摘要: $stateChangeStart- 当模板开始解析之前触发 $rootScope.$on('$stateChangeStart', function(event, toState, toPa ...

随机推荐

  1. [转]Hadoop家族学习路线图

    Hadoop家族学习路线图 Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, ...

  2. thinkphp5.0--验证

    我才知道原来验证有两种类型,独立验证和验证器,当然我们工作中肯定用验证器喽,代码的封装性也好很多,其实我觉得代码的维护性也好很多; 独立验证: //独立验证$data = [ 'name' => ...

  3. 又一个opengl教程,多多益善

    http://ogldev.atspace.co.uk/index.html http://wiki.jikexueyuan.com/project/modern-opengl-tutorial/tu ...

  4. ubuntu安装nvidia驱动

    安装环境: ubuntu 版本:12.04.02 LTS  64bit nvidia 驱动版本:NVIDIA-Linux-x86_64-310.19.run nvidia 显卡:GT640 安装过程主 ...

  5. builder模式-积木系列

    代码高效的表达意图,是优秀代码的基本标准,所以在刚刚写代码的时候我们总是被教育方法的名字,变量字段的名字要尽可能表达出在程序中的含义. 在<重构和模式>中提到的creation,就是讲构造 ...

  6. Python中random模块在主函数中设置随机种子是否对于调用的函数中的随机值产生影响?

    一个问题,加入我有一个工程文件,在main函数里面调用random模块,设置随机种子,主函数中的随机种子的设置是否会影响主函数所调用的函数中的随机值? 实际上这个问题非常重要,比如你在跑网络的时候,初 ...

  7. Http put与post区别

    转载: 有的观点认为,应该用POST来创建一个资源,用PUT来更新一个资源:有的观点认为,应该用PUT来创建一个资源,用POST来更新一个资源:还有的观点认为可以用PUT和POST中任何一个来做创建或 ...

  8. 怎样用CMD命令强行删除文件?

    如果你要删除的整个文件夹以及文件夹里面的所有内容的话rd/s/q 盘符:\某个文件夹   (这样整个文件夹所有的文件和文件夹都删除了)比如我想删除D盘的123文件夹以及123文件夹里面所有的内容rd/ ...

  9. s21day04 python笔记

    s21day04 python笔记 一.上周知识回顾及补充 回顾 补充 编译型语言和解释性语言 编译型:代码写完后,编译器将其变成成另外一个文件,然后交给计算机执行 常见的编译型语言:C,C++,Ja ...

  10. 马拉车 o(n)(最长连续回文串) hdu 3068

    #include<bits/stdc++.h> ; using namespace std; +]; string manacher(string ss) { string tt=&quo ...