2

我的 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) 中可用并且我将能够访问它。

4

2 回答 2

0

http://docs.angularjs.org/api/ng.$location#search

搜索(搜索,参数值)

这个方法是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;
}
于 2013-01-25T07:23:11.283 回答
-1

在控制器中注入 $routeParams,然后只需调用 $routeParams.yourQueryParameter。

例如:

function SomeCtrl($scope, $routeParams) {
    $scope.personId = $routeParams.personId;
}
于 2013-03-25T22:59:41.760 回答