जहां तक मैंने देखा है कि कोणीय पहली बार चीजों को संकलित करता है, पहले-सेवा आधार जो कि मुश्किल है। मैंने एक निर्देश दिया जो आसपास के कुछ तत्वों को लपेटता है और मैं एक लिंक प्रॉपर्टी चाहता हूं जो सामग्री में सामान की तलाश में है।एंगुलरजेएस परिवर्तन क्रम का संकलन
एक ठोस यूज-केस के लिए: मैं एक इनपुट लेबल निर्देश जो पहले निवेश के लिए सामग्री के अंदर लग रहा है और कहते हैं बनाने रहा एक बेतरतीब ढंग से input
को id
और label
यहाँ करने के लिए एक for
विशेषता उत्पन्न कोड है :
// Find the first element with the attribute ng-label-target or the first input and links a label to it
app.directive('ngLabel', function() {
return {
restrict: 'E',
replace: true,
transclude: true,
scope: {
label: '@',
},
template: '<span class="ng-label">' +
'<label class="ng-label-text">{{label}}</label>' +
'<span class="ng-label-content" ng-transclude></span>' +
'</span>',
link: function (scope, element, attrs) {
scope.id = scope.id || 'random-id-' + Math.floor(Math.random() * 90000000);
angular.element(element[0].querySelector('.ng-label-text')).
attr({for:scope.id});
var target = angular.element(element[0].querySelector('[ng-label-target]'));
if (!target || target.length == 0) {
target = angular.element(element[0].querySelectorAll('input,select,textarea')[0]);
}
target.attr({id:scope.id});
},
};
});
उदाहरण उपयोग:
<ng-label label="Text:">
<input type="text" ng-model="page.textColor" size="5" maxlength="7" placeholder="e.g. #000" required />
<input ng-label-target type="color" ng-model="page.textColor" required />
</ng-label>
यह स्वयं ही एक आकर्षण की तरह काम करता है।
हालांकि अब मैं कई इनपुट स्वतः उत्पन्न करना चाहता हूं और लेबल को पहले बिंदु पर रखना चाहता हूं। मुद्दा यह है कि जब मैं अपने ng-label
के अंदर ng-repeat
करता हूं तो ng-repeat
मेरे निर्देश संसाधित होने के बाद कोड उत्पन्न होता है इसलिए वास्तव में कुछ भी नहीं मिलता है।
इसलिए मेरा प्रश्न यह है: क्या कोई तरीका है जिसमें आप कोणीय को अन्य तरीकों के बजाय अंदर के नेस्टेड निर्देशों का मूल्यांकन करने के लिए निर्दिष्ट कर सकते हैं?
या, क्या मैं वर्तमान में ऐसा करने का एक बल्लेबाज तरीका हूं?
मैंने ऑर्डर का उदाहरण देने के लिए एक पहेली बना दी जिसमें सामान का मूल्यांकन किया जाता है। तुम देखो बाहरी-निर्देश एक छोटे या बराबर मूल्य होता है की तुलना में यह सामग्री (माइक्रोसेकंड की तुलना में कम नहीं जा सकते तो मैं दोहराता के एक झुंड करना था) है:
निश्चित रूप से आवश्यकता से कहीं अधिक जटिल दिखता है ... प्रदान किए गए डेमो में बहुत अधिक रिकर्सन है, अपने निर्देश और मार्कअप का उपयोग करके डेमो प्रदान करें। आप फुलर – charlietfl
की तुलना में कोणीय डेमो बनाने के लिए प्लंकर को आसानी से पा सकते हैं 'आईडी' को यादृच्छिक क्यों होना चाहिए? क्या आप सिर्फ 'id = "name _ {{$ index}}" 'और लेबल के लिए समान नहीं उपयोग कर सकते हैं? –
मैं आईडी निर्दिष्ट नहीं करना चाहता क्योंकि मुझे आम तौर पर इसकी आवश्यकता नहीं होती है, यही कारण है कि यह यादृच्छिक है अगर यह निर्दिष्ट नहीं है – Stefan