Я проработал целый час или два, пытаясь заставить мое приложение работать, но я не могу получить простую инъекцию для работы.Угловой 2 не может решить все параметры
У меня есть базовый модуль, который имеет GlobalsService
при условии:
core.module.ts
:
@NgModule({
declarations: [
CoreComponent,
SiteHeaderComponent,
// Pages
DocumentationComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
RouterModule.forRoot([
{path: 'documentation', component: DocumentationComponent},
{path: '', component: CoreComponent}
]),
DocumentationModule,
SharedModule
],
providers: [
GlobalsService,
RegexService,
UtilsService
],
bootstrap: [CoreComponent]
})
export class CoreModule {}
Но когда я пытаюсь использовать его в site-header.component.ts
:
import {Component} from '@angular/core';
import {GlobalsService} from '../../shared';
@Component({
selector: 'site-header',
templateUrl: './site-header.component.html',
styleUrls: ['./site-header.component.scss']
})
export class SiteHeaderComponent {
ns: string;
constructor(private globals: GlobalsService) {
this.ns = globals.ns;
}
}
globals.service.ts
:
import {Injectable} from '@angular/core';
@Injectable()
export class GlobalsService {
// App namespacer
ns: string = 'test';
}
Он просто говорит мне, что он не может разрешить параметр для GlobalsService
, хотя он может найти службу, потому что, если я изменю его импорт из ../../shared
, он выдает сообщение об ошибке, в котором говорится, что он не может найти его, так что это не так проблема кажется.
EDIT:
У меня есть shared
папку, которая содержит директивы, трубы, услуги и общие модули. Внутри я использую файл index.ts
, чтобы экспортировать все, поэтому путь только ../../shared
, а не ../../shared/services/globals.service.ts
.
См изображения:
shared/services/index.ts
:
export * from './globals/globals.service';
export * from './regex/regex.service';
export * from './utils/utils.service';
shared/index.ts
:
export * from './directives';
export * from './modules';
export * from './pipes';
export * from './services';
Может кто-то выяснить, что на земле, я здесь отсутствует?
Можете ли вы предоставить свой класс GlobalService тоже? –
Возможно, вы забыли добавить @Injectable в него? –
@GevorgNarimanyan Nope. Раньше я работал над этим, но потом, должно быть, я изменил что-то, что полностью сломало его. – Chrillewoodz