我有一個簡單的模型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