Bardzo chciałbym to skomentować. Ale z powodu braku reputacji piszę odpowiedź. Cóż, znam dwie możliwości rozwiązania tego problemu.
- Wprowadź dokument globalny. Cóż, może to nie być najlepsza praktyka, ponieważ nie wiem, czy język ojczysty itp. To obsługuje. Ale jest to przynajmniej lepsze niż używanie czystego JS.
konstruktor (@Inject (DOCUMENT) prywatny dokument: Document) {}
ngOnInit () {
this.document.body.classList.add ('test');
}
Cóż, a może nawet lepiej. Możesz wstrzyknąć moduł renderujący lub moduł renderujący 2 (na NG4) i dodać klasę z mechanizmem renderującym.
export class myModalComponent implementuje OnDestroy {
constructor (prywatny renderer: Renderer) {
this.renderer.setElementClass (document.body, 'modal-open', true);
}
ngOnDestroy () {
this.renderer.setElementClass (document.body, 'modal-open', false);
}
EDYCJA DLA ANGULAR4:
import {Component, OnDestroy, Renderer2} z '@ angular / core';
export class myModalComponent implementuje OnDestroy {
constructor (prywatny renderer: Renderer2) {
this.renderer.addClass (document.body, 'modal-open');
}
ngOnDestroy () {
this.renderer.removeClass (document.body, 'modal-open');
}
document.body.className|classList
?