未知提供者:$routeParamsProvider <- $routeParams

Unknown provider: $routeParamsProvider <- $routeParams

我目前正在通过创建一个简单的播客应用程序来学习 AngularJS 和 Ionic。 我正在尝试使用 routeParams 获取 "itemId" 但出现以下错误:

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/

这就是我通过 "itemId"

的方式

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

这是我的控制器:

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

知道导致此错误的原因吗?我相信 routeParams 已经包含在 ionic 框架中,因为他们提供的演示似乎可以工作,但我不知道如何工作。

非常感谢任何帮助:)

当您使用 Angular-ui-router 时,您应该使用 $stateParams 依赖项而不是 $routeParams ,后者用于 ui-router(Angular ui-路由器$stateProvider)

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

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