में आलसी लोडिंग मैं नॉकआउट जेएस के माध्यम से किसी बाहरी स्रोत से जेसन डेटा को लोड और पार्स करने की कोशिश कर रहा हूं।नॉकआउट जेएस
// Snippet
var self = this;
self.notices = ko.observableArray([]);
self.currentTab = ko.observable(5);
ko.computed(function() {
$.getJSON('http://json.source.here.com/tab/'+ko.toJS(self.currentTab), function(threads) {
if (threads !== null) {
self.notices(threads);
} else {
self.notices([]);
}
});
}, self.notices);
एक उपयोगकर्ता एक निश्चित टैब पर क्लिक करता है यह json डेटा (मंच धागे) चयनित टैब मूल्य (self.currentTab) पर के आधार पर लोड होगा: अब तक, सब कुछ निम्न कोड के माध्यम से सफल रहा है पंक्तियों के रूप में तालिका (self.notices)।
सब कुछ अपेक्षित काम करता है, हालांकि, मैंने देखा कि अन्य पृष्ठों के आसपास ब्राउज़ करते समय उपरोक्त बाइंडिंग नहीं है, जेसन अभी भी लोड हो रहा है ($ .getJSON निकाल दिया गया है)। मुझे चिंता है कि मेरी वेबसाइट के प्रदर्शन पर कुछ हानिकारक प्रभाव हो सकते हैं क्योंकि यह जसन स्रोत लोड कर रहा है, भले ही इसकी आवश्यकता नहीं है।
संपादित करें: मैंने इसे Google क्रोम के डेवलपर कंसोल के माध्यम से समझ लिया।
वर्तमान में मेरे पास एक जावास्क्रिप्ट फ़ाइल में मेरा दृश्य मॉडल है जिसका उपयोग हर दूसरे पृष्ठों द्वारा भी किया जा रहा है। इसमें सभी पृष्ठों के लिए बाइंडिंग शामिल हैं।
मेरा सवाल यह है कि, मैं किसी विशिष्ट पृष्ठ पर जेसन डेटा कैसे लोड कर सकता हूं या केवल बाइंडिंग मौजूद होने पर - आलसी लोडिंग? अधिमानतः, मैं सभी बाइंडिंग को एक ही जावास्क्रिप्ट फ़ाइल में रखना चाहता हूं, मैं उन्हें अलग नहीं करना चाहता हूं और उन्हें प्रति पेज आधार पर लोड करना चाहता हूं।
बहुत बहुत धन्यवाद :) मैं अपने नॉकआउट जेएस प्लगइन का उपयोग कर समाप्त हो गया। हालांकि, मैंने अपने उद्देश्य को बेहतर तरीके से सेवा देने के लिए "ko.observable" को "ko.observableArray" में बदल दिया - यह ठीक होना चाहिए? ऐसा लगता है कि अब उम्मीद की जा रही है। – MrSaints
हाँ, यह कोई समस्या नहीं होनी चाहिए। सरणी संचालन को संभालने के लिए जोड़े गए कुछ अतिरिक्त तरीकों के साथ एक अवलोकन योग्य ऐरे वास्तव में एक अवलोकन योग्य है। –
फिर से धन्यवाद। ओह और मैंने अभी देखा है कि जब मैं एक अलग टैब पर क्लिक करता हूं तो यह अद्यतन नहीं होता प्रतीत होता है। जब एक अवलोकन योग्य परिवर्तन सही होता है तो इसका पुनर्मूल्यांकन करना चाहिए? – MrSaints