How can I add a class to the body tag without making the body as the app selector and using host binding?
I tried
I would love to comment. But due to missing reputation I write an answer. Well I know two possibilities to solve this issue.
constructor(@Inject(DOCUMENT) private document: Document) {}
ngOnInit(){
this.document.body.classList.add('test');
}
Well and perhaps even better. You could inject the renderer or renderer 2 (on NG4) and add the class with the renderer.
export class myModalComponent implements OnDestroy {
constructor(private renderer: Renderer) {
this.renderer.setElementClass(document.body, 'modal-open', true);
}
ngOnDestroy() {
this.renderer.setElementClass(document.body, 'modal-open', false);
}
EDIT FOR ANGULAR4:
import { Component, OnDestroy, Renderer2 } from '@angular/core';
export class myModalComponent implements OnDestroy {
constructor(private renderer: Renderer2) {
this.renderer.addClass(document.body, 'modal-open');
}
ngOnDestroy() {
this.renderer.removeClass(document.body, 'modal-open');
}