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

时间:2016-02-26 22:03:44

标签: javascript angularjs routing angular-ui-router angularjs-routing

我目前正在学习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/
&#13;
&#13;
&#13;

现在这就是我传递&#34; itemId&#34;

的方式

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

这是我的控制器:

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

任何想法导致此错误的原因是什么?我相信routeParams已经包含在离子框架中,因为它们提供的演示似乎有效,我无法弄清楚如何。

任何帮助都很受欢迎:)

1 个答案:

答案 0 :(得分:32)

当您使用Angular-ui-router时,您应该使用$stateParams依赖项而不是$routeParams来用于ui-router(Angular ui-router $stateProvider

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

$routeParams可用于ngRoute模块(AngularJS   路由$routerProvider