Ich habe zwei Angular-Projekte mit diesen Versionen:
- 9.0.0-next.6
- 8.1.0
In der Version 9 habe ich dies verwendet, um das window
Objekt bereitzustellen und zu injizieren :
@NgModule({
providers: [
{
provide: Window,
useValue: window
},
]
})
export class TestComponent implements OnInit {
constructor(@Inject(Window) private window: Window)
}
Welches funktioniert gut.
Wenn Sie diesen Ansatz für Version 8 verwenden, werden beim Kompilieren Warnungen und Fehler ausgegeben:
Warnung: Es können nicht alle Parameter für TestComponent aufgelöst werden.
Ich habe es mit einfachen Anführungszeichen wie folgt gelöst:
@NgModule({
providers: [
{
provide: 'Window',
useValue: window
},
]
})
export class TestComponent implements OnInit {
constructor(@Inject('Window') private window: Window)
}
Was ist der Unterschied zwischen beiden Versionen?
Was ist der Unterschied in Winkel 8 und 9, der dieses Ding verursacht?