对于上下文,我使用coffeescript。如果我创建一个扩展Backbone.Model的基础模型,我创建另一个类(即App.Models.Project扩展App.Models.Base)..一切都按预期工作..如果在一个项目的实例有什么区别我写的这个基类:
initialize: ->
super
console.log 'hi'
只是简单
initialize: ->
console.log 'hi'
不花太多时间,似乎在我的控制台中,实例化的对象在两种情况下都按预期运行。我听说你应该“总是打电话给超级”,但我不知道我得到了什么......
答案 0 :(得分:1)
Backbone.Model.initialize什么都不做。
从annotated source code,您可以看到Backbone.Model
中定义的空函数initialize: function(){}
要覆盖你的模型。通常,模型变量在此处设置。无论何时创建模型对象,都会在内部调用initialize。
同样的原则在创建视图和集合时也很有用。