1

如果我想从 Angular 中的 URL 获取特定值,我正在研究如何解析这些数据。

例子:

 http://localhost:1337/doc-home/#/tips/5?paginatePage=1

我想得到“5”

HTML:

<a href="#/tips/comments/{{ tip.id }}?groupid={{ ????? }}" class="btn-yellow">Add / View Comments</a>

模块.js

 .when('/tips/comments/:group?id', {
    templateUrl: 'partials/comments.html'

控制器.js

  .controller('TipCommentsCtrl',

     function ($http, $scope, $routeParams, Categories, Tip, $location, error, $sce) {

更新

感谢大家的回答,我越来越近了。

我发布了另一个问题,应该有助于解释我的问题是什么

Angular routeParams not working URL正在改变

4

3 回答 3

1

根据您的要求,您可以选择以下任何一种:

  1. 如果您使用的是 ngRoute,您可以将 $routeParams 注入到您的控制器中。ngRoute 是一个角度核心模块,适用于基本场景。网址:https ://docs.angularjs.org/api/ngRoute http://docs.angularjs.org/api/ngRoute/service/ $routeParams

    如果您使用 RouteProvider 和 routeParams:路由将 URL 连接到您的 Controller/View,并且 routeParams 可以传递到控制器中。查看Angular 种子项目。在 app.js 中,您会找到路由提供程序的示例。要使用参数,只需像这样附加它们:

       $routeProvider.when('/view1/:param1/:param2', {
         templateUrl: 'partials/partial1.html',    
         controller: 'MyCtrl1'
       });
    

    然后在你的控制器中注入 $routeParams:

       .controller('MyCtrl1', ['$scope','$routeParams', function($scope,     
       $routeParams) {
         var param1 = $routeParams.param1;
         var param1 = $routeParams.param2;
         ...
       }]);
    

也可以使用 $routeParams.other 以查询字符串形式 /view/1/2?other=12 获取其他任意参数。

  1. ui-router 是一个贡献的模块,它克服了 ngRoute 的问题。主要是嵌套/复杂视图。如果你使用 angular-ui-router,你可以注入 $stateParams。网址:https ://github.com/angular-ui/ui-router、https : //github.com/angular-ui/ui-router/wiki/URL-Routing

    例如:http ://angular-ui.github.io/ui-router/sample/#/

尽管您的回答专门针对如何在此处获取参数,但我已经添加了有关选择什么以及如何使用的更多相关信息。我希望它有所帮助。谢谢你。

于 2015-08-28T04:59:35.647 回答
1

$routeParams服务使您能够访问路由参数并返回一个对象。

为了在您的示例中获取参数组,请/tips/comments/group?id..使用$routeParams.group

于 2015-08-28T04:31:37.307 回答
0

您将在$routeParams

$routeParams.group

于 2015-08-28T04:34:09.073 回答