AngularJs。未知提供者 - routeParams

AngularJs. Unknown provider - routeParams

我用了很多次类似的代码,但从来没有任何错误,但是现在,当我需要读取url个参数时,出错了。
这是应用程序配置的一部分:

angular.module('NitkaApp', [
    'ngMaterial',
    'ngMessages',
    'ngRoute',
    'ngResource',
    'ngSanitize',
    'books',
    'details',
    'authors',
    'images',
    'dataService'
]).
    config([
        "$locationProvider", "$routeProvider", "$mdThemingProvider", function ($locationProvider, $routeProvider, $mdThemingProvider) {
            $locationProvider.html5Mode({
                enabled: true
            });
            $mdThemingProvider.theme('default')
                .primaryPalette('blue-grey')
                .accentPalette('brown');
            $routeProvider
                .when('/', {
                    templateUrl: '/app/html/books.html',
                    controller: 'BooksCtrl'
                })
                .when('/book/:id', {
                    templateUrl: '/app/html/book-details.html',
                    controller: 'BookDetailsCtrl'
                })

这是控制器的一部分:

(function () {
    "use strict";
    angular.module('details', []).controller("BookDetailsCtrl", ["$scope", "$location", "$rootParams", "$mdMedia", "NitkaService", function ($scope, $location, $rootParams, $mdMedia, NitkaService) {
        //Getting external data from service
        NitkaService.getBook($rootParams.id).then(function(d) {
            $scope.bookDetails = d.data;
        });

当然我有angular-路由库link。你能建议解决这个问题吗? P.S。当然,我在 SO 上阅读了所有类似的帖子。

你的controller的依赖里面应该是routeParams,改成

来自

angular.module('details', []).controller("BookDetailsCtrl", ["$scope", "$location", "$rootParams", "$mdMedia", "NitkaService", function ($scope, $location, $rootParams, $mdMedia, NitkaService) {
        //Getting external data from service
        NitkaService.getBook($rootParams.id).then(function(d) {
            $scope.bookDetails = d.data;
        });

 angular.module('details', []).controller("BookDetailsCtrl", ["$scope", "$location", "$routeParams", "$mdMedia", "NitkaService", function ($scope, $location, $routeParams, $mdMedia, NitkaService) {
        //Getting external data from service
        NitkaService.getBook($routeParams.id).then(function(d) {
            $scope.bookDetails = d.data;
        });