मैं अपने आप को एक समाधान मिल गया।
आपके उत्तर के लिए धन्यवाद, IntoTheVoid, लेकिन मैं एएमडी जैसे समाधान की उम्मीद कर रहा था। इसका मतलब है, फिर से, वैश्विक नामस्थान "प्रदूषण" नहीं।
Addy उस्मानी से "https://github.com/addyosmani/backbone-aura" और "https://github.com/amdjs/amdjs-api/wiki/AMD" द अतुल्यकालिक मॉड्यूल परिभाषा (एएमडी) एपीआई विनिर्देश:
मेरे समाधान के लिए 2 कुंजी थे।
स्पेक कहता है: "यदि कारखाना एक कार्य है तो इसे केवल एक बार निष्पादित किया जाना चाहिए।"
तो, अगर एक AMD मॉड्यूल एक वेब अनुप्रयोग में एक निर्भरता के रूप में कई बार निर्दिष्ट किया जाता है, निर्भरता न केवल लोड नहीं कई बार, यह भी कई बार निष्पादित नहीं है, और इस नए बात है मेरे लिए। इसे केवल एक बार निष्पादित किया जाता है और फैक्ट्री फ़ंक्शन का वापसी मूल्य रखा जाता है। एक ही पथ के साथ प्रत्येक निर्भरता एक ही वस्तु है। और यह सब कुछ बदलता है।
define([], function() {
var app_registry = {};
app_registry.global_event_obj = _.extend({}, Backbone.Events);
app_registry.models = {};
return app_registry;
});
अब, उन मॉड्यूल जहां संसाधनों को साझा करना चाहते हैं, तो आप निर्भरता के रूप में इस app_registry मॉड्यूल घोषित करने और एक में लिखें::
तो, आप बस निम्नलिखित AMD मॉड्यूल को परिभाषित
define(['jquery','underscore','backbone','app_registry'],
function ($, _, Backbone, app_registry){
var firstView = Backbone.View.extend({
initialize: function() {
_.bindAll (this, 'methodOne');
this.model.bind ('change', this.methodOne);
this.model.fetch();
},
methodOne: function() {
app_registry.models.abc = this.model;
}
...
और अन्य में:
define(['jquery','underscore','backbone','app_registry'],
function ($, _, Backbone, app_registry){
var secondView = Backbone.View.extend({
initialize: function() {
_.bindAll (this, 'methodTwo');
app_registry.global_event_obj.bind ('special', this.methodTwo);
},
methodTwo: function() {
app_registry. ...
}
...
तो क्या मैं इस मॉडल को एक मॉडल को सहेज सकता हूं और इसे दृश्यों और सबव्यूव तक एक्सेस कर सकता हूं? – chchrist
ग्रेट उत्तर, – Alex
साझा करने के लिए बहुत बहुत धन्यवाद, तो यह समस्या को कैसे हल करता है? पहले मॉडल मॉडल.एबीसी बनाता है, दूसरा दृश्य कैसे मॉड्यूल को लोड करने के क्रम में चिंता किए बिना मॉडल को पुनर्प्राप्त करता है? – eugene