これはそれほど重要ではありませんが、両方の方法で行われているのを見たので、何がベストプラクティスと見なされるのか疑問に思っていました.
ビュー (またはコレクション) 宣言でのバインディング モデル:
var FooView = Backbone.View.extend({
model : fooModel
});
vs. 初期化時のみのバインディング モデル:
App.views.foo = new FooView({ model : fooModel });
これはそれほど重要ではありませんが、両方の方法で行われているのを見たので、何がベストプラクティスと見なされるのか疑問に思っていました.
ビュー (またはコレクション) 宣言でのバインディング モデル:
var FooView = Backbone.View.extend({
model : fooModel
});
vs. 初期化時のみのバインディング モデル:
App.views.foo = new FooView({ model : fooModel });
最初のケースでは、クラスレベルで関連付けを行っているため、将来のすべてのFooView
インスタンスを同じモデルに関連付けています。このアプローチが使用されているのを見たことがありません。
2 番目のケースは、私が使用する唯一のケースであり、私が見た唯一のケースです。この場合、 Viewの具体的なインスタンスを Modelの具体的なインスタンスに関連付けています。
ビューとモデルの関連付けを、コレクションとモデルの関連付けと比較することはできません。
var FooCollection = Backbone.Collection.extend({
model : FooModel
});
私がFooModel
(クラスに関連して)使用していfooModel
て、具体的なインスタンスに関連していないことに注意してください。
Collection では、この関連付けは具体的な Model インスタンスではなく Model クラスであるため、Class レベルで行われるため、Collection はこの具体的な Model クラスのインスタンスをインスタンス化でき、クラス プロパティなどにアクセスすることもできますModel.urlRoot
。 .