web-dev-qa-db-fra.com

Fournisseur inconnu: $ routeParamsProvider <- $ routeParams

J'apprends actuellement AngularJS & Ionic en créant une application de podcast simple. J'essaie d'utiliser routeParams pour obtenir le "itemId" mais j'obtiens l'erreur suivante:

Error: [$injector:unpr] Unknown provider: $routeParamsProvider <- $routeParams <- DetailsController
http://errors.angularjs.org/1.4.3/$injector/unpr?p0=%24routeParamsProvider%20%3C-%20%24routeParams%20%3C-%20DetailsController
minErr/

Voilà comment je passe le "itemId"

  .state('ted', {
    url: '/ted/:itemId',
    templateUrl: 'templates/ted-talks.html',
    controller: 'DetailsController'
  })

et voici mon contrôleur:

starter.controller("DetailsController", ["$scope", "$routeParams", "$http", function ($scope, $routeParams, $http) {
  $http.get('http://api.npr.org/query?id=57&apiKey={I've taken the ID off})
  .success(function(data, status, headers, config){
    var x2js = new X2JS();
    var jsonOutput = x2js.xml_str2json(data);
    console.log(jsonOutput);

     $scope.stories = jsonOutput.nprml.list.story;
     
     if($routeParams.itemId) {
      console.log('Single page id' + $routeParams.itemId);
     }


  })
  .error(function(data, status, headers, config){
    alert('There is a problem');
  })
}]);

Des idées ce qui cause cette erreur? Je crois que le routeParams est déjà inclus dans le cadre ionic comme les démos qu'ils fournissent semblent fonctionner, mais je ne peux pas comprendre comment.

Toute aide est très appréciée :)

17
Raddy

Lorsque vous utilisez Angular-ui-router Tu devrais utiliser $stateParams dépendance au lieu de $routeParams qui sont destinés à être utilisés pour ui-router (Routeur ui angulaire $stateProvider)

if($stateParams.itemId) {
    console.log('Single page id' + $stateParams.itemId);
}

$routeParams y est disponible pour le module ngRoute (routage AngularJS $routerProvider)

32
Pankaj Parkar