Kullanımdan kaldırılanı atlamak için ::ng-deepgenellikle devre dışı bırakırım ViewEncapsulation. Bu en iyi yaklaşım olmasa da bana iyi hizmet etti.
Devre dışı bırakmak ViewEncapsulationiçin bileşeninizde aşağıdakileri yapın:
import { Component, ViewEncapsulation } from '@angular/core';
@Component({
selector: 'app-header',
templateUrl: './header.component.html',
styleUrls: ['./header.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class HeaderComponent {
}
Bu, bu bileşendeki .scss stillerini tüm uygulama için global hale getirecektir. Stillerin zincirde üst ve kardeş bileşenlere çıkmasına izin vermemek için, tüm scss'yi seçici ile şu şekilde sarın:
app-header {
}
Şimdi, burada belirtilen stiller alt bileşenlere gidecektir, bu nedenle css seçicilerinizde ekstra spesifik olmanız ve CSS eklerken p'lerinize ve q'larınıza dikkat etmeniz gerekir (belki Angular uygulamanızda ve ardından stillerinde belirtilen alt seçiciyi ekleyin).
Yukarıdaki paragraf nedeniyle en iyi yaklaşım olmadığını söylüyorum, ama bu bana iyi hizmet etti.
::ng-deephiçbir yere gitmiyor. Her zaman etkinleştirebileceğiniz bir ayar olacaktır. Artık büyük bir topluluk tepkisi olmadan onu kaldırabilmelerinin hiçbir yolu yok. Bu arama için geri gelmek kaç sonuç bak github.com/search?q=%3A%3Ang-deep&type=Code - bu css demek gibi!importantözelliği ortadan kaybolacak