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();