我的SPA链接由绝对URL + Query-String参数构成,如下所示:
http://127.0.0.1/Pepole/Index?personId=[some_ID]
我的路线配置是:
tmc.config(['$routeProvider', function ($routeProvider) {
$routeProvider.when('/', { templateUrl: '/People/Person', controller: peopleController });
$routeProvider.otherwise({ redirectTo: '/' });
}]);
根据我的配置,当路由到/
时,如何保留personId
参数,以便它可以在相应的控制器(peopleController
)中使用,我将能够访问它
答案 0 :(得分:0)
http://docs.angularjs.org/api/ng.$location#search
搜索(search,paramValue)
此方法是getter / setter。
在没有任何参数的情况下调用时返回当前url的搜索部分(作为对象)。
使用参数调用时更改搜索部分并返回
$location
。参数
search(optional)
-{string|object<string,string>=}
- 新的搜索参数 - 字符串或哈希对象
paramValue(optional)
-{string=}
- 如果search
是字符串,则paramValue
将仅覆盖单个搜索参数。如果值为null
,则参数将被删除 返回
{string} – search
function SomeCtrl($scope, $location) {
$scope.personId = $location.search().personId;
}
答案 1 :(得分:-1)
在您的控制器中注入$ routeParams,然后只需调用$ routeParams.yourQueryParameter。
例如:
function SomeCtrl($scope, $routeParams) {
$scope.personId = $routeParams.personId;
}