Я хотел бы прокомментировать. Но из-за пропавшей репутации пишу ответ. Я знаю две возможности решить эту проблему.
- Внедрить глобальный документ. Что ж, это может быть не лучшая практика, поскольку я не знаю, поддерживает ли это nativescript и т. Д. Но это как минимум лучше, чем использовать чистый JS.
constructor (@Inject (DOCUMENT) закрытый документ: Document) {}
ngOnInit () {
this.document.body.classList.add ('тест');
}
Ну а может даже лучше. Вы можете внедрить рендерер или рендерер 2 (на NG4) и добавить класс с рендерером.
класс экспорта myModalComponent реализует OnDestroy {
конструктор (частный рендерер: рендерер) {
this.renderer.setElementClass (document.body, 'модально-открытый', истина);
}
ngOnDestroy () {
this.renderer.setElementClass (document.body, 'модальное открытие', ложь);
}
РЕДАКТИРОВАТЬ ДЛЯ ANGULAR4:
импортировать {Component, OnDestroy, Renderer2} из '@ angular / core';
класс экспорта myModalComponent реализует OnDestroy {
конструктор (частный рендерер: Renderer2) {
this.renderer.addClass (document.body, 'модально-открытый');
}
ngOnDestroy () {
this.renderer.removeClass (document.body, 'модально-открытый');
}
document.body.className|classList
?