2015-08-28 36 views
1

如果我想從Angular中的URL獲得特定值,我正在查看如何解析這些數據。角度在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) { 

UPDATE

我越來越接近感謝你們從所有的答案。

我張貼另一個問題,這應有助於解釋我的問題是什麼

Angular routeParams not working URL is changing

回答

2

根據您的需求,您可以選擇以下任何一種:

  1. 如果您使用的是ngRoute,則可以將$ routeParams注入到controller.ngRoute是一個角度核心模塊,適用於基本場景。 網址:https://docs.angularjs.org/api/ngRoute http://docs.angularjs.org/api/ngRoute/service/ $ routeParams

    如果您使用的是RouteProvider和routeParams:路由線了URL到控制器/視圖和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; 
        ... 
        }]); 
    

還可以得到其他任意PARAMS查詢字符串形式/查看/ 1/2?other = 12與$ routeParams.other。

  1. Ui-router是貢獻模塊,克服了ngRoute的問題。主要是嵌套/複雜的views.If你使用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/#/

雖然你的答案是明確對選什麼以及如何使用如何在這裏得到的參數我增加了更多的相關信息。我希望它有幫助。謝謝。

+0

請參閱使用網址更新其他問題 –

2

$routeParams服務讓您可以訪問路由參數的能力,並返回一個對象。

爲了獲取參數組在您的示例/tips/comments/group?id..使用$routeParams.group

+0

請參閱使用另一個問題的網址更新 –

1

您將在$routeParams細節

$ routeParams.group

+0

請參閱使用另一個問題的網址更新 –