0

对于上下文,我使用咖啡脚本。如果我创建一个扩展 Backbone.Model 的基本模型并创建另一个类(即 App.Models.Project 扩展 App.Models.Base).. 一切都按预期工作.. 如果在我写的这个基类:

initialize: ->
  super
  console.log 'hi'

而且很简单

initialize: ->
  console.log 'hi'

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

4

1 回答 1

1

Backbone.Model.initialize 什么都不做。

从带注释的源代码中可以看到Backbone.Model中定义的空函数

initialize: function(){}

由您的模型来覆盖。通常,在这里设置模型变量。每当您创建模型对象时,都会在内部调用初始化。

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

于 2012-11-02T10:08:18.733 回答