ที่จะหลีกเลี่ยงเลิกผมมักจะปิดการใช้งาน::ng-deep
ViewEncapsulation
แม้ว่านี่จะไม่ใช่แนวทางที่ดีที่สุด แต่ก็ให้บริการฉันได้ดี
หากต้องการปิดใช้งานViewEncapsulation
ให้ทำดังต่อไปนี้ในคอมโพเนนต์ของคุณ:
import { Component, ViewEncapsulation } from '@angular/core';
@Component({
selector: 'app-header',
templateUrl: './header.component.html',
styleUrls: ['./header.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class HeaderComponent {
}
สิ่งนี้จะทำให้รูปแบบ. scss ในคอมโพเนนต์นี้เป็นสากลสำหรับแอปพลิเคชันทั้งหมด ในการไม่อนุญาตให้สไตล์ขึ้นไปบน chain ไปยังส่วนประกอบหลักและพี่น้องให้ห่อ scss ทั้งหมดด้วยตัวเลือกดังนี้:
app-header {
}
ตอนนี้สไตล์ที่ระบุไว้ที่นี่จะลงไปที่ส่วนประกอบลูก ๆ ดังนั้นคุณต้องเจาะจงเป็นพิเศษกับตัวเลือก css ของคุณและคำนึงถึง p และ q ของคุณเมื่อเพิ่ม CSS (อาจเพิ่มตัวเลือกลูกที่ระบุในแอป Angular ของคุณแล้วตามด้วยสไตล์)
ฉันบอกว่ามันไม่ใช่แนวทางที่ดีที่สุดเนื่องจากย่อหน้าข้างบน แต่สิ่งนี้ให้บริการฉันได้ดี
::ng-deep
ไม่ไปไหน จะเป็นการตั้งค่าที่คุณสามารถเปิดใช้งานได้เสมอ ไม่มีทางที่พวกเขาจะลบมันออกไปได้อย่างแน่นอนโดยไม่มีฟันเฟืองชุมชนขนาดใหญ่ ดูที่จำนวนผลลัพธ์กลับมาสำหรับการค้นหานี้github.com/search?q=%3A%3Ang-deep&type=Code - มันชอบพูดว่าแบบ CSS!important
คุณสมบัติเป็นไปหายไป