मेरे निजी पसंद मेरी applyBindings
कॉल को विभाजित करने और इसके स्थान पर इस से दूर एक भी वैश्विक नामस्थान शाखा के साथ काम नहीं है।
मेरा तर्क यह है कि कई बाइंडिंग सही ढंग से काम करने के लिए और संघर्ष नहीं करने के लिए आपको बहुत सावधान रहने की आवश्यकता है कि आपके चयनित लक्ष्य डोम तत्वों में बदलाव न हो। दुर्भाग्य से मार्कअप में समय के साथ बदलने की एक बुरा आदत है जो आपको बाद में आपके विचारों के साथ परेशानी में डाल सकती है।
मेरी सामान्य दृष्टिकोण है जो मैं एक बहुत बड़ी KO परियोजना पर उपयोग किया है पूरे एप्लिकेशन जैसे myapp
अलग फ़ाइलों में अलग कार्यात्मक ब्लॉक विभाजित के लिए
- एक वैश्विक शीर्ष स्तर नाम स्थान दिया गया है। आमतौर पर अपने स्वयं के विशिष्ट नामस्थान के साथ। जैसे `myapp.navigation '
- यदि विशेष रूप से एक नामस्थान बहुत बड़ा हो जाता है तो इसे आगे के उपनामों में विभाजित किया जाता है या यदि यह उपयुक्त नहीं है तो एकाधिक फ़ाइलों में समान नाम स्थान को विभाजित करें।
- प्रदर्शन को संरक्षित करने के लिए अंत में सभी फ़ाइलों को मैश करें।
कुछ नाम स्थान कोड मैं हाल ही में
उपयोग कर रहे हैं तो अपने myapp.navigation फ़ाइल में आप
Namespace("myapp.navigation", function() {
var self = this; // your myapp.navigation object
this.someFunction = function() {
}
});
होता यह सिर्फ करने के लिए एक आत्म प्रेरक फ़ंक्शन का उपयोग कर के लिए आशुलिपि है मैन्युअल रूप से निर्मित नामस्थान में पास करें। यह आपको एक निजी बंद कर देता है और आप अलग-अलग जेएस फ़ाइल में एक ही नामस्थान के साथ एकाधिक नेमस्पेस कॉल का उपयोग करने के लिए स्वतंत्र हैं।
आपका applyBindings कॉल अब हमेशा
ko.applyBindings(myapp);
आशा इस मदद करता है हो सकता है।
यह उत्तर आपकी मदद कर सकता है: http://stackoverflow.com/questions/8676988/example-of-knockoutjs-pattern-for-multi-view-applications। नॉकआउट में एकाधिक दृश्य मॉडल का उपयोग करने के लिए इसमें तीन विकल्प हैं। –