angular.js:14362 Error: [$injector:unpr] Unknown provider: reportTypeServiceProvider <- reportTypeService <- ReportTypeController
エラーが発生しています。
私はこれについてたくさんのものを見つけましたが、私のコードで何が問題なのかまだ分かりません。ここでは、次のとおりです。
pitchviz.js:
(function() {
'use strict';
angular
.module('pitchviz', [
'pitchviz.config',
'pitchviz.routes',
'pitchviz.report-types'
]);
angular
.module('pitchviz.config', []);
angular
.module('pitchviz.routes', ['ngRoute']);
angular
.module('pitchviz')
.run(run);
run.$inject = ['$http'];
function run($http) {
$http.defaults.xsrfHeaderName = 'X-CSRFToken';
$http.defaults.xsrfCookieName = 'csrftoken';
}
})();
pitchviz.config.js:
(function() {
'use strict';
angular
.module('pitchviz.config')
.config(config);
config.$inject = ['$locationProvider'];
function config($locationProvider) {
$locationProvider.html5Mode(true);
$locationProvider.hashPrefix('!');
}
})();
pitchviz.routes.js:
(function() {
'use strict';
angular
.module('pitchviz.routes')
.config(config);
config.$inject = ['$routeProvider'];
function config($routeProvider) {
$routeProvider.when('/', {
controller: 'ReportTypeController',
controllerAs: 'vm',
templateUrl: '/static/templates/report-types/report-types.html'
}).otherwise('/');
}
})();
レポートタイプ/レポート-types.modules.js:
(function() {
'use strict';
angular
.module('pitchviz.report-types', [
'pitchviz.report-types.controllers',
'pitchviz.report-types.services'
]);
angular
.module('pitchviz.report-types.controllers', []);
angular
.module('pitchviz.report-types.services', []);
})();
レポートタイプ/コントローラ/レポート-type.controller.js:
(function() {
'use strict';
angular
.module('pitchviz.report-types.controllers')
.controller('ReportTypeController', ['reportTypeService', ReportTypeController]);
ReportTypeController.$inject = ['reportTypeService'];
function ReportTypeController(reportTypeService) {
var vm = this;
vm.reportType = undefined;
activate();
function activate() {
reportTypeService.get().then(reportTypeSuccess, reportTypeError);
function accountSuccess(data, status, headers, config) {
console.log(data);
vm.reportType = data.data;
}
function reportTypeError(data, status, headers, config) {
console.log(data);
console.log(status);
}
}
}
})();
レポート型/サービス/レポート-type.service.js:
(function() {
'use strict';
angular
.module('pitchviz.report-types.services')
.service('reportTypeService', ['reportTypeService', reportTypeService]);
reportTypeService.$inject = ['$http'];
function reportTypeService($http) {
var reportTypeService = {
get: get
};
return reportTypeService;
function get() {
console.log("service");
return $http.get('/api/report-types/');
}
}
})();
ここで何が起こっていますか?ありがとう!
:
ReportTypeController.$inject = ['reportTypeService'];
は単純にこれを使用します。$ injectを使用する場合は、$ injectだけを使用し、配列経由でも注入しないでください(例:https://github.com/johnpapa/angular-styleguide/blob/master/a1/README.md#別のデータ呼び出し)。ここで何が起こっているのかを知るのは難しいです。 reportTypeServiceをreportTypeServiceに挿入しようとしているようですが、意味がありません。 –
あなたが作成したサービス、コントローラなどは、index.htmlファイルに注入されています。このタイプのエラーは一般に、角度が注入している依存関係の1つを見つけられなかった場合に発生します。 – pritesh
'.service( 'reportTypeService'、['reportTypeService'、reportTypeService]); reportTypeService。$ inject = ['$ http']; 'これはうまく見えません。それらのいずれかに固執するだけです(そして、btw、インライン注釈は間違っています)。 – estus