निर्देशों का उपयोग करने के लचीलेपन को बढ़ाने के लिए, मैंने निर्देशों के लिए "प्रीप्रोसेसर" जोड़ा। यह कहा जाता है जब निर्देश डोम से "जुड़ा" होता है। आप इसका विस्तार कर सकते हैं या इसे अपने स्वयं के साथ बदल सकते हैं, जो इस तरह की सुविधाएँ देता है:
- निर्देशों में अपनी विशेषताओं को जोड़ना (जैसे टेम्पलेट, टेम्प्लेट, स्कोप, स्कोप ...)
- निर्देशों को परिवर्तित करें और उन्हें बदलें
- निर्देशों के स्थान को बदलना, उदाहरण के लिए, निर्देशों के भाग को दायरे में स्टोर करना (ठीक है, अगर आप चाहते हैं तो क्या होगा)
निम्नलिखित कुछ उदाहरण हैं:
निर्देश में "बोल्ड" विशेषता जोड़ेंalight.directivePreprocessor.ext - "हैंडलर" की एक सरणी, जिसे प्रीप्रोसेसर से कहा जाता है, अपने हैंडलर को डालें, इसमें
डायरेक्टिव.बोल्ड विशेषता की जांच करें और तत्व की सामग्री को बदलें।
alight.directivePreprocessor.ext.splice(1, 0, { code: 'bold', // not necessary fn: function() { if(this.directive.bold) this.element.innerHTML = '<b>' + this.element.innerHTML + '</b>' } })
उदाहरण निर्देश:
alight.directives.al.example = { bold: true }
प्लंकर उदाहरणआलसी निर्देशक सक्षमकार्य: संबंधित फ़ाइल से उनके उपयोग के समय सर्वर से "dyn" उपसर्ग के साथ स्वचालित रूप से सभी निर्देश डाउनलोड करें।
डायन-डायरेक्टिव निर्देश और उसके कनेक्शन का एक उदाहरण:
<span dyn-directive="name"></span>
निर्देश फ़ाइल को निर्देशक नाम:
dyn.directive.js द्वारा अपलोड किया जाएगा
alight.directives.dyn.directive = { template: '<b>{{title}}</b>', scope: true, link: function(element, name, scope) { scope.$watch(name, function(value) { scope.title = '+' + value + '+' }, { init:true }) } } // "" waitDirectives.directive.resolve()
प्लंकर उदाहरणPreprocessor का प्रतिस्थापन
system.js फ़ाइल में है, एक उदाहरण देखें।
आमतौर पर परियोजनाओं में ऐसी विशेषताओं की आवश्यकता नहीं होती है, लेकिन कभी-कभी वे उपयोगी होते हैं।
पिछले लेख:
कोणीय प्रकाश। HTML में घोषणात्मक डेटा बाइंडिंग का प्रबंधन ,
कोणीय प्रकाश में दिशात्मक विरासत