2014-05-17 10 views
5

Der Versuch, AngulareJS zu lernen, blieb dabei hängen.
Wie übergeben Sie URL-Parameter über TemplateUrl in AngularJS?

Dies ist der Code:

app.config(function ($routeProvider){ 
$routeProvider 
.when('/', 
{  
    templateUrl: '/sort', 
    controller : 'tasksController'  
}) 
.when('/expression/:expressionId/type/:typeId', 
{ 
    templateUrl: '/sort/'+:expressionId +'/'+ :typeId, 
    controller : 'tasksController' 
})}); 

Dies ist offensichtlich falsch.

Kann mir bitte jemand sagen, was ist der richtige Weg, dies zu tun? Vielen Dank.

+0

Vielleicht wollte man sollte uns sagen, warum es falsch ist. Was ist das Verhalten, das du bekommst? – JeffryHouser

+0

Die Art, wie Sie versuchen, es zu erreichen, ist mit Angulars "nativem" Router nicht möglich. Dies ist jedoch mit [Angular UI Router] (https://github.com/angular-ui/ui-router#angularui-router-) möglich. Wenn Sie bei ngRouter bleiben möchten, können Sie eine Kombination aus $ routeParams (in einem Controller aufgefüllt) und ngInclude in Ihrer Hauptansicht verwenden. – jacob

+0

Ich habe es herausgefunden. Vielen Dank für Ihre Antwort. – user727728

Antwort

1

Wahrscheinlich suchen Sie $ routeparams https://docs.angularjs.org/api/ngRoute/service/ $ routeParams.

Sie so etwas wie unten tun können:

app.config(function ($routeProvider){ 
    $routeProvider 
    .when('/',{ 
     templateUrl: '/sort', 
     controller : 'tasksController' 
    }) 
    .when('/expression/:expressionId/type/:typeId', { 
     templateUrl: '/sort', 
     controller : 'tasksController' 
    }) 
}); 

app.controller('tasksController', ['$scope', '$routeparams', function($scope, $routeparams) { 
    var expressionId = $routeparams.expressionId 
     , typeId = $routeparams.typeId; 
}]); 
+0

Ich habe es herausgefunden. Vielen Dank für Ihre Antwort. – user727728

10

Danke Jungs, ist das, was ich

.when('/expression/:expressionId/type/:typeId', { 

templateUrl: function(params) { 
    return '/sort/' + params.expressionId +'/'+ params.typeId ; 
}, 
controller: 'tasksController' 
}); 
+1

Ich weiß, dass es ein bisschen spät ist, hier zu kommentieren, aber, können Sie erklären, wo Sie "Params" übergeben, wo Params seinen Wert bekommen ?! Vielen Dank. – JimmyBoy

Verwandte Themen