我有一个简单的模型Backbone.js的:堆栈溢出,同时节省Backbone.js的模式
class Avia.Student extends Backbone.Model
告诉你这是简单的:-)无论如何,我将其保存在下面的视图(剪断,为清楚起见):
class Avia.StudentView extends Backbone.View
render: =>
html = JST['views/student_view_template'](model: @model)
@el.html(html)
Backbone.ModelBinding.bind(@)
$('#save').bind('click', @save)
save: (e) =>
e.preventDefault()
@model.save(
success: =>,
error: =>
)
当我点击保存按钮,@save()被调用,但失败并出现以下错误(同样,对于剪断清晰度显然持续了很长一段时间):
Uncaught RangeError: Maximum call stack size exceeded
Backbone.Events.trigger:117
_.extend._onModelEvent:635
Backbone.Events.trigger:117
_.extend._onModelEvent:635
Backbone.Events.trigger:117
_.extend._onModelEvent:635
Backbone.Events.trigger:117
有人能告诉我我做错了什么吗?我不明白为什么会发生这种情况...
是啊,叫
_.bindAll
为此,请尝试注释掉Backbone.ModelBinding.bind(@)线,看看会发生什么 – Paul 2011-12-17 12:51:59