हटाए गए को बायपास करने के लिए ::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 शैलियों को संपूर्ण अनुप्रयोग के लिए वैश्विक बना देगा। शैलियों को माता-पिता और सहोदर घटकों के लिए श्रृंखला में जाने की अनुमति नहीं देने के लिए, पूरे स्कैस को चयनकर्ता के साथ लपेटें:
app-header {
}
अब, यहां निर्दिष्ट शैलियाँ बच्चों के घटकों के लिए नीचे जाएंगी ताकि आपको अपने सीएसएस चयनकर्ताओं के साथ अतिरिक्त विशिष्ट होना पड़े और सीएसएस जोड़ते समय अपने पी और क्यू का ध्यान रखें (हो सकता है कि अपने एंगुलर ऐप में निर्दिष्ट बच्चे चयनकर्ता को जोड़ें और फिर इसकी शैलियों को)।
मैं कहता हूं कि ऊपर दिए गए पैराग्राफ की वजह से यह सबसे अच्छा तरीका नहीं है, लेकिन इसने मुझे अच्छी सेवा दी है।
::ng-deepकहीं नहीं जा रहा है यह हमेशा एक सेटिंग होगी जिसे आप सक्षम कर सकते हैं। वहाँ बिल्कुल कोई रास्ता नहीं है वे इसे अब बड़े पैमाने पर सामुदायिक प्रतिक्रिया के बिना निकाल सकते हैं। कितने परिणाम इस खोज के लिए वापस आने पर देखो github.com/search?q=%3A%3Ang-deep&type=Code - यह सीएसएस कह की तरह है!importantसंपत्ति गायब करने जा रहा है