https://code.angularjs.org/1.6.3/docs/error/$injector/unpr?p0=documentPreviewServiceProvider%20%3C-%20documentPreviewService%20%3C-%20ezursMedicalRecordsService
main module
импортирует commonServices module
и caseinfo module
, caseinfo module
объявляет recordsComponent
.
commonServices module
объявляет две службы EzursMedicalRecords
и DocumentPreviewService
с .service
.
recordsComponent
инъекция EzursMedicalRecordsService
, EzursMedicalRecordsService
инъекция DocumentPreviewService
Я проверил все:
- Правописание правильное
- Каждая служба объявляется один раз с
.service
- Дочерняя служба объявляется до родительской службы
- Экземпляр службы предоставляется
- Я не являюсьВнедрение
$scope
в службу
Так объявляются элементы
common-services.module
export default angular.module('app.common-services', [
angularLocalStorageModule,
ngSanitizeModule,
uiSelectModule,
ngIdleModule,
angularLoadingBarModule,
angularValidationMatchDirective,
uibTypeaheadModule,
angularRecaptcha,
signalrModule
])
.service('documentPreviewService ', documentPreviewService )
.service('windowEventsService', windowEventsService)
.service('ezursMedicalRecordsService', ezursMedicalRecordsService)
.service('blobService', BlobService)
модуль caseinfo
export default angular.module('app.caseinfo', [uirouter, uibAccordionModule, uibTabsnModule, "kendo.directives"])
.controller('RecordsController', RecordsController)
основной модуль
import caseInfoModule from './case-info-page';
import commonServicesModule from '../common/services/app.common.services';
angular
.module('app', [
caseInfoModule,
commonServicesModule,
])
Есть компонент
class RecordsController {
constructor(urls, $http, ezursGridService, blobService, ezursMedicalRecordsService, dialogService) {
this.urls = urls;
this.$http = $http;
this.ezursGridService = ezursGridService;
this.blobService = blobService;
this.ezursMedicalRecordsService = ezursMedicalRecordsService;
this.dialogService = dialogService;
}
RecordsController.$inject = ['urls', '$http', 'ezursGridService', 'blobService', 'ezursMedicalRecordsService', 'dialogService'];
export default {
bindings: {
caseDto:"="
},
template,
controller: RecordsController
};
ezursMedicalRecordsService
class MedicalRecordsService {
constructor($http, urls, blobService, $window, documentPreviewService) {
this.$http = $http;
this.urls = urls;
this.blobService = blobService;
this.$window = $window;
this.documentPreviewService = documentPreviewService;
}
MedicalRecordsService.$inject = ['$http', 'urls', 'blobService', '$window', 'documentPreviewService'];
export default MedicalRecordsService;
И documentPreviewService
class DocumentPreviewService {
constructor($http, urls) {
this.$http = $http;
this.urls = urls;
}
}
DocumentPreviewService.$inject = ['$http', 'urls'];
export default DocumentPreviewService;
Мне действительно нужно внедрить documentPreviewService
в ezursMedicalRecordsService
, который используется во всем приложении.
Я не знаю, почему я могу 'добавить documentPreviewService в ezursMedicalService.У меня есть blob.service, который объявлен так же, как documentPreviewService, но с blob.service все в порядке.