Я слежу за курсом по Pluralsight, но столкнулся с проблемой.Я должен заранее сказать, что они рекомендуют использовать более старую версию Angular CLI, в то время как я использую самую последнюю.
Следуя модулю, который затрагивает тему внедрения зависимостей, я получаю ошибку (МожетНе удается разрешить все параметры для EventsListComponent: (?)) и страница не загружается.Мне удалось это исправить, но я полагаю, что мое решение не является правильным, и я хотел бы знать, каким должно быть правильное решение.
Я искал в Интернете, но по какой-то причине я долженчто-то упустить, так как я не могу заставить его работать, используя только декоратор @Injectable ().
Я получил файл с именем event.service.ts
@Injectable()
export class EventService {
getEvents() {
return EVENTS;
}
}
, в котором EVENTS является константным массивом
const EVENTS = [
{
id: 1,
name: 'Angular Connect',
date: '9/26/2036',
time: '10:00 am',
price: 599.99,
imageUrl: '/assets/images/angularconnect-shield.png',
location: {
address: '1057 DT',
city: 'London',
country: 'England'
}
}
];
и который я регистрирую в app.module.ts
@NgModule({
imports: [
BrowserModule
],
declarations: [
EventsAppComponent,
EventsListComponent,
EventThumbnailComponent,
NavBarComponent
],
providers: [EventService],
bootstrap: [EventsAppComponent]
})
В соответствии с курсом следующее должно внедрить службу в мой компонент (но приводит к упомянутой ошибке)
export class EventsListComponent {
events: any[];
constructor(private eventService: EventService) {
// should be done in the onInit hook but that is the next step in the course
this.events = this.eventService.getEvents();
}
}
Я могу исправить это, изменив код следующим образом
export class EventsListComponent {
events: any[];
eventService: EventService;
constructor(@Inject(EventService) eventService: EventService) {
this.eventService = eventService;
this.events = this.eventService.getEvents();
}
}
Я не понимаю, что я делаю неправильно, поскольку я делаю это в своем решении, о котором должен позаботиться декоратор @Injectable ().
Что скрывает ошибку и какисправить это правильно?