बड़े पैमाने पर आवेदन में, हमारे आवेदन की मॉड्यूलरिटी बढ़ाने के लिए हमारे वेब एप्लिकेशन को अलग आंशिक पृष्ठ में व्यवस्थित किया जा सकता है। कुछ मामलों में XHR या Ajax अनुरोध के माध्यम से लोड किए गए आंशिक पृष्ठ को संकलित करने के लिए या तो Angular $ http.get या JQuery $ .load का उपयोग करके एक त्रुटि उत्पन्न होगी।कोणीय और संकलन के साथ आंशिक पृष्ठ लोड करना नियंत्रक
उदाहरण के रूप में मेरे परिदृश्य का उपयोग करके, मैं वास्तव में कोहाना PHP फ्रेमवर्क का उपयोग कर रहा हूं ताकि मैं सर्वर स्तर पर अपने वेब एप्लिकेशन की मॉड्यूलरिटी को नियंत्रित कर सकूं। सामान्य रूप से सभी टेम्पलेट और पृष्ठ को देखने में अलग किया गया है, प्रस्तुति परत पर सभी HTML, JS और CSS को एक साथ छोड़कर।
यह क्लाइंट साइड प्रोसेसिंग पर जावास्क्रिप्ट एमवीडब्ल्यू/एमवीसी स्टैक को लागू करने के लिए मेरे लिए एक बड़ी लचीलापन देगा क्योंकि मेरा वेब ऐप बैक एंड एप्लिकेशन से डेटा लाने के लिए AJAX अनुरोध पर भारी निर्भर करता है। मेरे परिदृश्य में AngularJS का उपयोग कर रहा हूं और नीचे मॉडल से डेटा को क्लाइंट को प्रस्तुत करने के तरीके पर एक साधारण छद्म है।
Kohana मॉडल> Kohana नियंत्रक> Kohana देखें> एक्सएचआर> JQuery \ कोणीय> डोम
अपने आवेदन में अपनी भूमिका की है कि वास्तव में मुझे टक्कर और मेरे पास चयापचय पेय की कुछ बोतलें पीने मिल देना आवेदन को हल करें। जहां मेरे पास एक मॉडल संवाद है और आंशिक पृष्ठ सर्वर से एक्सएचआर के माध्यम से लोड होता है और इसे चयनित डॉम से जुड़ा होता है।
समस्या जब यह एनजी नियंत्रक निर्देश यह समारोह संसाधित निर्देश की चर्चा करते हुए खोज कर रहे होंगे, जब कोणीय कोशिश आंशिक पेज संकलित करने के लिए, है। त्रुटि उत्पन्न हुई थी जहां नियंत्रक नहीं मिला क्योंकि यह अभी तक डोम पार्सर द्वारा मूल्यांकन नहीं किया गया है। लेकिन जब आप अपने आवेदन में आंशिक पृष्ठ लोड करने से पहले कहीं भी अपने आवेदन में फ़ंक्शन को पूर्व-डिलीयर करते हैं, तो सबकुछ ठीक है। नीचे दिया गया उदाहरण है कि मैं एक संवाद सेवा कैसे स्थापित करता हूं जिसे लिंक निर्देश पर क्लिक किया जाएगा जब मैंने कहा लिंक क्लिक किया था।
var dialogService = angular.module('dialog.service', []);
dialogService.factory('Dialog', function($http,$compile){
var dialogService = {};
dialogService.load = function(url, scope){
$("#dialog:ui-dialog").dialog("destroy");
$("#dialog").attr('title','Atlantis');
$http.get(url).success(function (data) {
html = $compile(data)(scope);
$('#dialog-content').html(html);
$("#dialog").dialog({
width: '600px',
buttons: {
"Ok": function() {
$(this).dialog("close");
return true;
},
},
close: function(){
if (typeof (onClose) == 'function') { onClose(); }
},
});
});
}
return dialogService;
});
कुछ शोध के बाद मुझे कुछ समाधान मिला है और मेरे जैसे शुरुआती लोगों के लिए मेरे उत्तर पर फेलो के साथ साझा करना है। (मेरी अंग्रेजी के लिए खेद है)।
मैं इस दृष्टिकोण का उपयोग करने की कोशिश कर रहा हूं लेकिन यह मुझे बताता है कि $ संकलन परिभाषित नहीं किया गया है, क्या मुझे कुछ और जोड़ने की ज़रूरत है? –
मुझे यह जानने की जरूरत है कि आप एंगुलरजेएस कैसे शुरू करते हैं, क्या आप जेएसफ़िल्ड में साझा कर सकते हैं? – wajatimur
कोड नमूने वेबसाइट में बहुत स्पष्ट हैं, का उपयोग करें http://jsfiddle.net/9mPGB/ –