Ho due progetti angolari che usano queste versioni:
- 9.0.0-next.6
- 8.1.0
Nella versione 9 l'ho usato per fornire e iniettare l' window
oggetto:
@NgModule({
providers: [
{
provide: Window,
useValue: window
},
]
})
export class TestComponent implements OnInit {
constructor(@Inject(Window) private window: Window)
}
Che funziona benissimo.
Adottare questo approccio alla versione 8 ha generato avvisi ed errori durante la compilazione:
Avvertenza: impossibile risolvere tutti i parametri per TestComponent ...
L'ho risolto usando virgolette singole, in questo modo:
@NgModule({
providers: [
{
provide: 'Window',
useValue: window
},
]
})
export class TestComponent implements OnInit {
constructor(@Inject('Window') private window: Window)
}
Qual è la differenza tra entrambe le versioni?
Qual è la differenza in Angular 8 e 9 che causa questa cosa?