私はいくつかのビューがアクセスすると、私はすぐにそうようにそれをインスタンス化してるモデルモジュールの定義で、これを達成するために必要モデルがあります:私は本当にこのモデルの1つのインスタンスを必要とするRequireJSを持つシングルトンバックボーンモデル:アンチパターン?
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();
});
が、私はこのように感じるあなたは、本質的に戻ったとしているので、貧しい選択肢でありますグローバルネームスペース - これは、RequireJSが回避することになっているものです。
上記のようにシングルトンモデルを使用しないようにするための選択肢はありますか?
最初の例でやったように完全にうまくいくはずです。 –