URL中的Angular get值

时间:2015-08-28 04:07:38

标签: javascript angularjs angularjs-ng-route

如果我想从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>

module.js

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

controller.js

  .controller('TipCommentsCtrl',

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

更新

感谢大家的回答,我得到了更快的结果。

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

Angular routeParams not working URL is changing

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)

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

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

    如果您正在使用RouteProvider和routeParams:该路由将URL连接到您的Controller / View,并且routeParams可以传递到控制器。查看Angular seed项目。在app.js中,您将找到路由提供程序的示例。要使用params,只需将它们添加为:

       $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;
         ...
       }]);
    
  2. 还可以在查询字符串形式/ view / 1/2中获取其他任意参数?other = 12 with $ routeParams.other。

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

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

    2. 虽然您的答案专门针对如何获取参数,但我已添加了有关选择内容和使用方法的更多相关信息。我希望它有所帮助。谢谢。

答案 2 :(得分:1)

您将在$routeParams

中获得详细信息
  

$ routeParams.group