11

Attualmente sto imparando AngularJS & Ionic creando una semplice app per podcast. Sto cercando di utilizzare routeParams per ottenere il "itemId", ma sto ottenendo il seguente errore:

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/

Ora questo è come mi passate il "itemId"

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

e qui è il mio controller:

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'); 
 
    }) 
 
}]);

Tutte le idee che cosa provoca questo errore? Credo che il percorso Params sia già incluso nel framework ionico in quanto le demo che forniscono sembrano funzionare, ma non riesco a capire come.

Qualsiasi aiuto è molto appreceated :)

risposta

27

Come si utilizza Angular-ui-router si dovrebbe usare $stateParams dipendenza invece di $routeParams, che hanno lo scopo di utilizzare per la ui-router (Angular ui-router $stateProvider)

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

$routeParams is available there for ngRoute module(AngularJS routing $routerProvider)

+1

Non hai idea di quanto a lungo mi stia sbattendo la testa. Grazie mille! Cercavo di passare parametri nel mio controller e niente stava funzionando haha ​​.... – dannio

+0

@dannio Piacere di sapere che ho aiutato. Grazie :) –