У меня есть два проекта Angular, использующих эти версии:
- 9.0.0-next.6
- 8.1.0
В версии 9 я использовал это, чтобы предоставить и ввести window
объект:
@NgModule({
providers: [
{
provide: Window,
useValue: window
},
]
})
export class TestComponent implements OnInit {
constructor(@Inject(Window) private window: Window)
}
Который работает отлично.
Принятие этого подхода к версии 8 выдало предупреждения и ошибки во время компиляции:
Предупреждение: не удается разрешить все параметры для TestComponent…
Я решил это с помощью одинарных кавычек, например:
@NgModule({
providers: [
{
provide: 'Window',
useValue: window
},
]
})
export class TestComponent implements OnInit {
constructor(@Inject('Window') private window: Window)
}
В чем разница между обеими версиями?
Какая разница в угловых 8 и 9, что вызывает эту вещь?