ฉันชอบที่จะแสดงความคิดเห็น แต่เนื่องจากชื่อเสียงที่ขาดหายไปฉันจึงเขียนคำตอบ ฉันรู้ความเป็นไปได้สองอย่างในการแก้ปัญหานี้
- ใส่เอกสารสากล มันอาจไม่ใช่แนวทางปฏิบัติที่ดีที่สุดเพราะฉันไม่รู้ว่า nativescript etc รองรับหรือไม่ แต่อย่างน้อยก็ดีกว่าใช้ JS บริสุทธิ์
ตัวสร้าง (เอกสารส่วนตัว @Inject (DOCUMENT): เอกสาร) {}
ngOnInit () {
this.document.body.classList.add ('ทดสอบ');
}
ดีและอาจจะดีกว่า คุณสามารถฉีดตัวแสดงผลหรือตัวแสดงผล 2 (บน NG4) และเพิ่มคลาสด้วยตัวแสดงผล
คลาสส่งออก myModalComponent ใช้ OnDestroy {
ตัวสร้าง (ตัวแสดงผลส่วนตัว: Renderer) {
this.renderer.setElementClass (document.body, 'modal-open', true);
}
ngOnDestroy () {
this.renderer.setElementClass (document.body, 'modal-open', false);
}
แก้ไขสำหรับ ANGULAR4:
นำเข้า {Component, OnDestroy, Renderer2} จาก "@ angular / core";
คลาสส่งออก myModalComponent ใช้ OnDestroy {
ตัวสร้าง (ตัวแสดงผลส่วนตัว: Renderer2) {
this.renderer.addClass (document.body, 'modal-open');
}
ngOnDestroy () {
this.renderer.removeClass (document.body, 'modal-open');
}
document.body.className|classList
คืออะไร?