मैं एक मॉडल कई देखा गया और मॉडल मॉड्यूल की परिभाषा में यह पूरा करने पहुँचा जा करने की जरूरत है कि मैं इसे तुरंत instantiating कर रहा हूँ तो जैसे:RequJS के साथ सिंगलटन बैकबोन मॉडल: विरोधी पैटर्न?
define([
'jquery',
'underscore',
'backbone'
], function(_, Backbone) {
var Foo = Backbone.Model.extend({
// wondrous methods and properties
});
return new Foo();
});
मैं केवल वास्तव में इस मॉडल का एक उदाहरण की जरूरत है - अभी यह है। जहां तक मुझे पता है कि इसके लिए वर्कअराउंड अलग App
मॉड्यूल होना है। कुछ की तरह:
define([], function() {
var App = {
routers: {},
models: {},
views: {}
};
return App;
});
जिस पर आप एप्लिकेशन स्टार्टअप पर वस्तुओं के लिए दुकान संदर्भ का दृष्टांत और कर सकते हैं:
require([
'App',
'Foo'
], function(App, Foo) {
App.models.foo = new Foo();
});
लेकिन मैं इस तरह लग रहा है एक गरीब विकल्प के बाद से आप अनिवार्य रूप से एक होने के लिए वापस जा रहे हैं वैश्विक नामस्थान - जो कुछ है जो RequJS से बचने में मदद करने के लिए माना जाता है।
क्या कोई विकल्प हैं और क्या ऊपर वर्णित सिंगलटन मॉडल होने से बचने का कोई अच्छा कारण है?
आपको अपने पहले उदाहरण में ऐसा करने के तरीके से पूरी तरह से ठीक होना चाहिए। –