ionic 监听路由事件变化
(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 监听路由事件变化的更多相关文章
- angular的路由和监听路由的变化和用户超时的监听
先看两篇博客:http://camnpr.com/javascript/1652.html 这一篇博客是重点中的重点: http://www.tuicool.com ...
- vue中监听路由参数变化
今天遇到一个这样的业务场景:在同一个路由下,只改变路由后面的参数值, 比如在这个页面 /aaa?id=1 ,在这个页面中点击一个按钮后 跳转到 /aaa?id=2 , 但从“/aaa?id=1”到“ ...
- react如何监听路由url变化
"componentWillReceiveProps" "shouldComponentUpdate" "componentWillUpdate&qu ...
- vue监听路由的变化,跳转到同一个页面时,Url改变但视图未重新加载问题
引入:https://q.cnblogs.com/q/88214/ 解决方法: 添加路由监听,路由改变时执行监听方法 methods:{ fetchData(){ console.log('路由发送变 ...
- 如何使用Curator监听zookeeper事件变化
掌握zookeeper事件监听机制,非常重要,可以说是跨入了进阶的门槛,只有掌握了如何监听某个节点或路径,我们才能在节点变化后,做一些我们想做的事,包括: 1,配置文件同步 2,主从切换 3,分布式队 ...
- vue-watch监听路由的变化
- vue同一个路由,但参数发生变化,页面不刷新的问题(vue监听路由参数变化重新渲染页面)
watch: { $route: function(newVal, oldVal) { console.log(oldVal); //oldVa 上一次url console.log(newVal); ...
- vue3 监听路由($route)变化
setup() { // ... }, watch: { $route(m, n) { console.log('mm', m) console. ...
- Angular 监听路由变化事件
摘要: $stateChangeStart- 当模板开始解析之前触发 $rootScope.$on('$stateChangeStart', function(event, toState, toPa ...
随机推荐
- linux 编译链接问题
-rpath和-rpath-link 假设有3个文件,在同一目录下,有这样的依赖关系 test->liba.so->libd.so 如果编译test的时候这样写 gcc test.c –l ...
- Spring Batch框架流程的简单介绍
Spring Batch流程介绍: 上图描绘了Spring Batch的执行过程.说明如下: 每个Batch都会包含一个Job.Job就像一个容器,这个容器里装了若干Step,Batch中实际干活的也 ...
- idea 新建一个java项目并运行
这个只能算是个笔记,参考:参考文档 打开Idea,选择create new project,如图 或选择File ——> New——>Project... 出现以下界面,选中Java,然后 ...
- Linux内核info leak漏洞
1 Information Leak漏洞风险 从应用层软件,到hypervisor再到kernel代码,都存在Information Leak的风险.下面给出一些示例: 应用层软件:通常是应用敏感数 ...
- i.MX6 u-boot 怎么确定板级头文件
/********************************************************************** * i.MX6 u-boot 怎么确定板级头文件 * 说 ...
- CF1120 C. Compress String(SAM+DP)
有方程dp[i]=min(dp[i-1]+A,dp[j]+B):如果s[j+1,i]在s[i,j]中出现,所以我们就是要知道每个子串在s出现的第一个位置,这个可以hash实现或者sam,或者kmp实现 ...
- Z遮罩层完全覆盖页面
不要使用absolute定位,用fixed就行.然后 background:rgba(0, 0, 0, 0.5); position:fixed; z-index: 100; left:0; righ ...
- 《DSP using MATLAB》Problem 6.21
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- JSP中页面向Action传递参数的几种方式
<form name="ThisForm" method="POST" action="index.jsp"> form是表单, ...
- numpy数据集练习 ----------sklearn类
# 1. 安装scipy,numpy,sklearn包 import numpy from sklearn.datasets import load_iris # 2. 从sklearn包自带的数据集 ...