1

これはそれほど重要ではありませんが、両方の方法で行われているのを見たので、何がベストプラクティスと見なされるのか疑問に思っていました.

ビュー (またはコレクション) 宣言でのバインディング モデル:

var FooView = Backbone.View.extend({
    model : fooModel
});

vs. 初期化時のみのバインディング モデル:

App.views.foo = new FooView({ model : fooModel });
4

1 に答える 1

2

最初のケースでは、クラスレベルで関連付けを行っているため、将来のすべてのFooViewインスタンスを同じモデルに関連付けています。このアプローチが使用されているのを見たことがありません。

2 番目のケースは、私が使用する唯一のケースであり、私が見た唯一のケースです。この場合、 View具体的なインスタンスを Modelの具体的なインスタンスに関連付けています。

アップデート

ビューとモデルの関連付けを、コレクションとモデルの関連付けと比較することはできません。

var FooCollection = Backbone.Collection.extend({
  model : FooModel
});

私がFooModel(クラスに関連して)使用していfooModelて、具体的なインスタンスに関連していないことに注意してください。

Collection では、この関連付けは具体的な Model インスタンスではなく Model クラスであるため、Class レベルで行われるため、Collection はこの具体的な Model クラスのインスタンスをインスタンス化でき、クラス プロパティなどにアクセスすることもできますModel.urlRoot。 .

于 2012-08-14T20:57:26.877 に答える