11

Tôi hiện đang học AngularJS & Ionic bằng cách tạo một ứng dụng podcast đơn giản. Tôi cố gắng để sử dụng routeParams để có được những "ItemID" nhưng tôi nhận được lỗi sau:

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/

Bây giờ đây là cách tôi vượt qua "ItemID"

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

và đây là bộ điều khiển của tôi:

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

Bất kỳ ý tưởng những gì gây ra lỗi này? Tôi tin rằng routeParams đã được bao gồm trong khuôn khổ ionic như các bản demo họ cung cấp dường như làm việc, bu tôi không thể tìm ra cách.

Bất kỳ giúp đỡ được nhiều appreceated :)

Trả lời

27

Như bạn đang sử dụng Angular-ui-router bạn nên sử dụng $stateParams phụ thuộc thay vì $routeParams đó có nghĩa là để sử dụng cho ui-router (góc ui-router $stateProvider)

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

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

+1

Bạn không có ý tưởng bao lâu tôi đã đập đầu của tôi trên đó. Cám ơn rất nhiều! Đã cố gắng để vượt qua params vào bộ điều khiển của tôi và không có gì được làm việc haha ​​.... – dannio

+0

@ dannio Rất vui được biết rằng tôi đã giúp. Cảm ơn :) –

Các vấn đề liên quan