这不是很重要,但我想知道什么被认为是最佳实践,因为我已经看到它以两种方式完成。
在视图(或集合)声明中绑定模型:
var FooView = Backbone.View.extend({
model : fooModel
});
仅在初始化时与绑定模型:
App.views.foo = new FooView({ model : fooModel });
这不是很重要,但我想知道什么被认为是最佳实践,因为我已经看到它以两种方式完成。
在视图(或集合)声明中绑定模型:
var FooView = Backbone.View.extend({
model : fooModel
});
仅在初始化时与绑定模型:
App.views.foo = new FooView({ model : fooModel });
在第一种情况下,您将所有未来FooView
实例关联到同一个模型,因为您在类级别进行关联。我从未见过使用这种方法。
第二种情况是我唯一使用的,也是我见过的唯一一种。在这种情况下,您将View的具体实例与 Model的具体实例相关联。
您无法将 View 和 Model 之间的关联与 Collection 和 Model 之间的关联进行比较。
var FooCollection = Backbone.Collection.extend({
model : FooModel
});
注意我正在使用FooModel
(与类相关)而不是fooModel
与具体实例相关。
在 Collection 中是在 Class 级别完成的,因为这种关联不是与具体的 Model 实例,而是与 Model 类,因此 Collection 能够实例化这个具体 Model 类的实例,并且还可以访问诸如此类的类Model.urlRoot
属性.