通过angularjs自带的$locationChangeStart
.run([‘$rootScope‘, ‘$window‘, ‘$location‘, ‘$log‘, function ($rootScope, $window, $location, $log) {
var locationChangeStartOff = $rootScope.$on(‘$locationChangeStart‘, function(event , next, current) {
$log.log(‘locationChangeStart‘);
$log.log(arguments);
});
}])
如果请求的参数放在angular自带的params中,并不能很好滴获取页面的请求参数,所以上面的这种解决方案并不是很有效。
只能另想其法了。
因为页面的请求URL变化,是通过点击来触发的,可以在触发URL状态变化后,记录状态变化的请求URL,并将请求的URL放在sessionStorage中。
比如:
//切换待办已办已建
$scope.changeTable=function(code){
$scope.nowCode=code;
$scope.getOrderDate(pNum,pSize,$scope.nowCode,$scope.status,$scope.searchInfo,$scope.whichOrder);
//获取当前请求的URL,并保存至sessionStorage中
sessionStorage.setItem(‘orderUrl‘, JSON.stringify({
url:$location.absUrl(),
pageNum:pNum,
pageSize:pSize,
code:code,
type:$scope.status,
keyWord:$scope.searchInfo,
orderBy:$scope.whichOrder}));
$rootScope.orderAbsUrl = JSON.parse(sessionStorage.getItem(‘orderUrl‘));
console.log($rootScope.orderAbsUrl);
};
未完待续。。。
原文:http://www.cnblogs.com/WaTa/p/7474352.html