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 ...
随机推荐
- C# Windows IPSEC监控(仅此一家,别无分店)
Windows IPSEC监控,使用C#编写,输出为一行字符串,可以按照既有IPSEC规则生成模板 using System; using System.Diagnostics; using Syst ...
- SQL注入之Sqli-labs系列第二关
废话不在多说 let's go! 继续挑战第二关(Error Based- Intiger) 同样的前奏,就不截图了 ,and 1=1和and 1=2进行测试,出现报错 还原sql语句 查看源代 ...
- Ubuntu16.04阿里云源
16.04源 deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse deb http://m ...
- [LeetCode&Python] Problem 107. Binary Tree Level Order Traversal II
Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left ...
- javascript文档DOC
python.java都有官网,有官方文档 javascript却找不到官网和官方文档 js大全 https://github.com/jobbole/awesome-javascript-cn md ...
- Failed to start component [StandardEngine[Catalina].stadardHost[loclahost].StandardContent[/GarageMgtB]]
错误如图: 新导入的一个web工程,在problems中显示错误是:Target runtime Apache Tomcatv8.0 is not defined. 终于找到解决方法.方法是:在工程目 ...
- HPU组队赛J:Ball King(线段树)
时间限制 1 Second 内存限制 512 Mb 题目描述 HPU601球王争霸赛即将举行,ACMER纷纷参加. 现在有n个人报名参赛,每个人都有一个实力值 ai,实力值较大者获胜. 为保证比赛公 ...
- 矩阵快速幂 51nod
基准时间限制:3 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 给出一个N * N的矩阵,其中的元素均为正整数.求这个矩阵的M次方.由于M次方的计算结果太大,只需要输出 ...
- CentOS7源码安装qbittorrent最新版本
CentOS的软件 yum 里 yum search qbittorrent yum info qbittorrent 找到的是3.37版本 官网最新的是4.12版本.但需要源码安装: 官网下载最新版 ...
- 黑马-Spring与数据库
Spring与数据库 Spring与jdbc 引入dataSource 在客户端 模板编程 类的结构图, 真正干活的是JdbcTemplate(底层实现,操作 excute方法) JdbcTempla ...