使用默认的Backbone.Model初始化函数可以获得什么?

时间:2012-11-02 01:43:10

标签: backbone.js

对于上下文,我使用coffeescript。如果我创建一个扩展Backbone.Model的基础模型,我创建另一个类(即App.Models.Project扩展App.Models.Base)..一切都按预期工作..如果在一个项目的实例有什么区别我写的这个基类:

initialize: ->
  super
  console.log 'hi'

只是简单

initialize: ->
  console.log 'hi'

不花太多时间,似乎在我的控制台中,实例化的对象在两种情况下都按预期运行。我听说你应该“总是打电话给超级”,但我不知道我得到了什么......

1 个答案:

答案 0 :(得分:1)

Backbone.Model.initialize什么都不做。

annotated source code,您可以看到Backbone.Model

中定义的空函数
initialize: function(){}

要覆盖你的模型。通常,模型变量在此处设置。无论何时创建模型对象,都会在内部调用initialize。

同样的原则在创建视图和集合时也很有用。