angularjs获取前一个网页以及现网页网址的路由信息

angularjs获取当前网址或者前一个网址中的ID、后缀名(name)等路由信息,在引用方法前,要在controller里面声明相关参数:

app.controller('caseNavCtrl', ['$scope', '$state''$rootScope', function($scope, $state, $rootScope){}]);

在这个controller里面写入下边代码:

$rootScope.$on('$stateChangeSuccess', function (ev, to, toParams, from, fromParams) {
     $rootScope.previousState = from; //from为前一个页面的路由信息:url,cache,views,name
     $rootScope.previousParams = fromParams; //fromParams为前一个页面的ID信息
     $rootScope.nowState = to; //to为当前页面的路由信息:url,cache,views,name,同样,toParams为当前页面的ID信息
 });

举例说明:

假设网址为:http://localhost:84/index.php#/case/caseId/YBF2016-000206#type=service;

从这个页面进入下一个页面:http://localhost:84/index.php#/casTk/caseTkId/YBF2016-000206。

那么from的内容为 :url: “/case/caseId/:caseId”,cache: false, views: Object, name: “case”

fromParams的内容为:YBF2016-000206

to的内容为:url: “/casTk/caseTkId/:caseTkId”,cache: false, templateUrl: “/app/tpls/case/caseTk.html”,name: “casTk”

toParams的内容为:YBF2016-000206(这个ID是属于后一个页面网址的ID)。

如果想获取网址中#后边的内容,可用angularjs中的$location.hash();

猜你喜欢

转载自blog.csdn.net/weixin_44134899/article/details/85047997