1

这不是很重要,但我想知道什么被认为是最佳实践,因为我已经看到它以两种方式完成。

在视图(或集合)声明中绑定模型:

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

仅在初始化时与绑定模型:

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

1 回答 1

2

在第一种情况下,您将所有未来FooView实例关联到同一个模型,因为您在类级别进行关联。我从未见过使用这种方法。

第二种情况是我唯一使用的,也是我见过的唯一一种。在这种情况下,您将View具体实例与 Model的具体实例相关联。

更新

您无法将 View 和 Model 之间的关联与 Collection 和 Model 之间的关联进行比较。

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

注意我正在使用FooModel(与类相关)而不是fooModel与具体实例相关。

在 Collection 中是在 Class 级别完成的,因为这种关联不是与具体的 Model 实例,而是与 Model 类,因此 Collection 能够实例化这个具体 Model 类的实例,并且还可以访问诸如此类的类Model.urlRoot属性.

于 2012-08-14T20:57:26.877 回答