आप उन ही निर्देश पर वर्ग और/या शैली तत्वों में पारित करने के लिए अनुमति दे सकते हैं और आप कैसे उस वर्ग/शैली से अधिक कुशल नियंत्रण हो सकता है आपके टेम्पलेट पर लागू है। पहला कदम replace : true
के साथ अपना निर्देश घोषित करना है, जो तब आपके अंतर्निहित टेम्पलेट में किसी भी कक्षा/शैली की जानकारी ले जाएगा। उदाहरण के लिए:
app.directive("myDirective",function(){
return {
restrict:'AE',
replace : true,
template: '<div>This is my directive</div>'
};
});
जब आप इस तरह HTML में इस का उपयोग करें:
<my-directive class="red"></my-directive>
जिसके परिणामस्वरूप HTML होगा:
<div class="red">This is my directive</div>
आप देख सकते हैं, के निर्देश की जगह के निर्देश को हटा टैग, लेकिन निर्देश के गुणों को संरक्षित करता है और उन्हें टेम्पलेट पर लागू करता है। इसलिए, आपके निर्देश में, आपको तकनीकी रूप से कुछ भी नहीं करना है और आपके उपयोगकर्ता शैली की जानकारी में स्वचालित रूप से आवश्यक होने के लिए आवेदन कर सकते हैं।
हालांकि, मान लेते हैं कि अपने निर्देश लेआउट अधिक जटिल है करते हैं:
app.directive("myDirective",function(){
return {
restrict:'AE',
replace : true,
template: '<div><div>My Title</div>My content</div>'
};
});
तो आप स्पष्ट रूप से अतिरिक्त कक्षा/शैली संदर्भ है कि आपके निर्देश उपयोग वैकल्पिक रूप से कर सकते हैं और जहां वर्ग लागू किया जाएगा संकेत कर सकते हैं। उदाहरण के लिए:
<my-directive class="red" class-title="blue"></my-directive>
और फिर, अपने निर्देश के संकलन या लिंक समारोह में, आप आंतरिक टेम्पलेट मदों के लिए वर्ग अगर इन इंगित किया गया है निर्धारित कर सकते हैं:
app.directive("myDirective",function(){
return {
restrict:'AE',
replace : true,
template: '<div><div>Title</div>Content</div>',
compile : function(elem,attr){
if (attr.classTitle){
var titleElem = angular.element(elem.children()[0]);
titleElem.attr("class",attr.classTitle)
}
}
};
});
कौन सा निम्न परिणाम होगा:
<div class="red" class-header="blue">
<div class="blue">My Title</div>
My Content
</div>
ट्रांसफर के साथ आप और भी अच्छी चीजें कर सकते हैं ताकि लोग तत्वों के लिए अपनी सामग्री और स्टाइल का उपयोग कर सकें।
सुनिश्चित नहीं हैं कि आप कर सकते हैं छाया डोम के बिना गुंजाइश शैलियों। पॉलिमर और वेब घटक यही है कि इनकैप्यूलेशन के लिए उपयोग करना है। कोणीय निर्देश दस्तावेज़ से शैलियों का उत्तराधिकारी होंगे। – cameronroe
यह सही है। यही कारण है कि मैंने कोई जवाब नहीं दिया है, जो इस व्यवहार की नकल करता है, बावजूद कोई छाया डोम नहीं है। – bdavidxyz