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 :)
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 modulengRoute
(routage AngularJS$routerProvider
)