11

Obecnie uczę się AngularJS & Ionic, tworząc prostą aplikację podcast. Próbuję użyć routeParams uzyskać "ItemID", ale otrzymuję następujący błąd:

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/

Teraz jest to w jaki sposób przekazać "ItemID"

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

i tutaj jest mój kontroler:

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

Jakieś pomysły co powoduje ten błąd? Wierzę, że routeParams jest już włączona w ramy jonowe, ponieważ prezentacje, które zapewniają, wydają się działać, ale nie wiem, jak to zrobić.

Każda pomoc jest znacznie appreceated :)

Odpowiedz

27

Jak używasz Angular-ui-router należy użyć $stateParams zależność zamiast $routeParams które są przeznaczone do wykorzystania do ui-router (kątowa UI-routera $stateProvider)

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

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

+1

Nie masz pojęcia, jak długo nad tym kręciłem. Dzięki wielkie! Próbowałem przekazać paramy do mojego kontrolera i nic nie działało haha ​​.... – dannio

+0

@dannio Miło mi wiedzieć, że pomogłem. Dzięki :) –