这是一个关于 backbone.js 和 javascript 的一般性问题,我是 javascript 的中级:
如果您有一组模型,每个模型都连接到一个 View 实例,那么每个模型实例的 View 实例是否包含 View 渲染方法的完整实例?如果是这样,推荐的方法是什么来确保渲染方法是“静态的”,这样如果每个模型实例都需要完全相同的渲染函数就不会浪费内存?
在下面的例子中,每个帽子实例是否也包含一个渲染函数的实例,或者它是否指向一个“静态”渲染函数?
var Hat = Backbone.Model.extend({});
var HatCollection = Backbone.Collection.extend({
model : Hat,
});
var HatView = Backbone.View.extend({
render : function() {
// output the hat's html
}
});
var hats = new HatCollection([ new Hat(), new Hat(), new Hat()])
hats.each(function(hat) {
hat.view = new HatView({ model : hat });
});
最佳答案
Javascript 中没有真正的“静态”或“类”方法。您拥有的是在类原型(prototype)上定义的方法。
当您使用 Backbone.View.extend() 时,您传递的所有内容都会添加到原型(prototype)中,因此它们确实是您所说的“静态”方法。
关于javascript - backbone.js 模型的 View 实例渲染函数是静态的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8170120/