Sometimes, we want to inject window into a service with Angular.
In this article, we’ll look at how to inject window into a service with Angular.
How to inject window into a service with Angular?
To inject window into a service with Angular, we can inject document into our service.
Then we get window from document.
For instance, we write
import { Inject } from "@angular/core";
import { DOCUMENT } from "@angular/common";
export class MyClass {
private window: Window;
constructor(@Inject(DOCUMENT) private document: Document) {
this.window = this.document.defaultView;
}
foo() {
console.log(this.document);
console.log(this.window);
}
}
to inject document with @Inject(DOCUMENT) private document: Document in the constructor signature.
Then we get window from this.document.defaultView in the constructor.
Conclusion
To inject window into a service with Angular, we can inject document into our service.
Then we get window from document.