(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. python day14--内置函数二

    主要内容: 1.lamda匿名函数 2.sorted() 3.filter() 4.map() 5.递归函数 一.Lamda匿名函数 语法:lamda:参数:返回值 # 计算n的n次⽅方 def fu ...

  2. JavaScript中的内置对象-8--2.String-符串对象 方法; 截取方法; 综合应用; 其他方法;

    JavaScript内置对象-2String(字符串) 学习目标 1.掌握字符串对象 方法: charAt() charCodeAt() indexOf() lastIndextOf() charAt ...

  3. php操作redis(转)

    Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. Redis支持的数据类型有 Stirng(字符串), Lis ...

  4. ORA-16019搭建DG设置归档线程参数报错

    #操作描述:搭建DG,主库修改参数log_archive_dest_1线程路径报错 ORA-16019: cannot use LOG_ARCHIVE_DEST_1 with LOG_ARCHIVE_ ...

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

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

  6. NOI-1.3-05-计算分数的浮点数值-double要注意

    05:计算分数的浮点数值 总时间限制:  1000ms 内存限制:  65536kB 描述 两个整数a和b分别作为分子和分母,既分数 a/b ,求它的浮点数值(双精度浮点数,保留小数点后9位) 输入 ...

  7. python 中os的常用方法

    1.更改当前的路径 import os os.chdir( "D:/java") 注意python中表示文件路径,文件夹之间用/或者\\不能使用\

  8. 1111B - Average Superhero Gang Power

    刷数学题不知道为啥出来这个 算是贪心吧,先把所有的power加起来,然后sort一遍,每次删掉最小的那个数,记录一个max,平均值ave如果比max大,就替换,一定要小心m的值可能会比n小,意味着不一 ...

  9. 改变radio单选按钮的样式

    <div class="choose_btn"> <input type="radio" name="choose_raido&qu ...

  10. java-抽象类的成员特点

    1.成员变量:既可以是变量,也可以是常量.abstract不能修饰成员变量. 2.构造方法:有.用于子类访问父类数据的初始化. 3.成员方法:既可以是抽象的,也可以是非抽象的. - 抽象方法:强制要求 ...