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;
});
我用了很多次类似的代码,但从来没有任何错误,但是现在,当我需要读取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;
});