में गुंजाइश चर के माध्यम से templateUrl में पारित करने के लिए मैं एक गुंजाइश चर के माध्यम से टेम्पलेट के लिए यूआरएल में पारित करने के लिए कोशिश कर रहा हूँ। दायरा नहीं बदलेगा इसलिए टेम्पलेट को इसके आधार पर अपडेट करने की आवश्यकता नहीं है, लेकिन वर्तमान में स्कोप चर हमेशा अपरिभाषित है।कैसे विशेषता
<div cell-item template="{{col.CellTemplate}}"></div>
आदर्श रूप में निर्देश होगा:
.directive("cellItem", ["$compile", '$http', '$templateCache', '$parse', function ($compile, $http, $templateCache, $parse) {
return {
scope: {
template: '@template'
},
templateUrl: template // or {{template}} - either way
};
}])
हालांकि यह काम नहीं करता। मैंने एक ही अवधारणा को पूरा करने में कई अलग-अलग क्रमिक प्रयास किए हैं, और यह निकटतम लगता है, हालांकि यह अभी भी काम नहीं करता है।
.directive("cellItem", ["$compile", '$http', '$templateCache', '$parse', function ($compile, $http, $templateCache, $parse) {
return {
scope: {
template: '@template'
},
link: function (scope, element, attrs) {
var templateUrl = $parse(attrs.template)(scope);
$http.get(templateUrl, { cache: $templateCache }).success(function (tplContent) {
element.replaceWith($compile(tplContent)(scope));
});
}
};
}])
मैंने एनजी-इन का उपयोग करने का भी प्रयास किया है, लेकिन यह संकलन से पहले स्कोप चर का मूल्यांकन भी नहीं करता है। CellTemplate मान डेटाबेस कॉल से आ रहा है, इसलिए मूल्यांकन से पहले पूरी तरह से अज्ञात है। इस काम को पाने के लिए कोई सुझाव बहुत सराहना की जाएगी!
संपादित करें: मैं कोणीय 1.0.8 का उपयोग कर रहा है और एक नए संस्करण में अपग्रेड कर पा रहा हूँ।
यह निश्चित रूप से काम करता है जब डेटा पूर्वनिर्धारित होता है। मुझे एहसास नहीं हुआ कि मेरी समस्या इसलिए है क्योंकि मुझे सेवा से मेरा डेटा मिल रहा है। आप सेट एक टाइमआउट में डेटा का कहना है, यह अटक जाती है: http://plnkr.co/edit/aLkCRm – John
गलतफहमी जॉन के बारे में क्षमा करें। मैंने अपना जवाब अद्यतन कोड और एक नया प्लंकर के साथ संपादित किया है जो टाइमआउट के साथ काम करता है। – tasseKATT
यह चाल है! धन्यवाद – John