2016-06-12 20 views
1

ich eine Route konfiguriert haben und versuchen Parameter an eine Steuerung weitergeben müssen:

app.js

.config(function($stateProvider, $urlRouterProvider) { 
    $stateProvider 
    .state('spot', { 
     url: "/spot/:param", 
     templateUrl: "templates/spot.html", 
     controller: "SpotCtrl" 
    }); 
    $urlRouterProvider.otherwise('/'); 
}); 

Controller:

angular.module('spotx.controllers') 
    .controller('SpotCtrl', ['$scope', '$routeParams', 
    function($scope, $routeParams) { 

    $scope.do = function() { 
    console.log($routeParams.param); 
    }; 

}]) 

Die url ist /#/spot/1111, aber wenn ich die Do-Funktion fire bekomme ich undefined in der Konsole.

Antwort

4

$routeParams ist für ngRoute Router nicht angular-UI-Router.

Sie benötigen $stateParams ... ui Router docs sehen

ich überrascht bin Sie nicht einen unbekannten Anbieter Fehler bekommen, wenn Sie beide Router Skripte in externe Seite haben und haben ngRoute auch in einem Modul injiziert

+0

Ich habe angular-route.min.js aufgenommen und ngRoute in meine App injiziert. – rakete

+0

Sie haben also 2 Router in der Seite? Keine Notwendigkeit für "ngRoute" bei Verwendung von Router – charlietfl

+0

Woher weißt du, dass ich UI-Router verwende? – rakete

Verwandte Themen