Javascript 型号';更改';,但是它';不是
我有一个看法:Javascript 型号';更改';,但是它';不是,javascript,backbone.js,coffeescript,Javascript,Backbone.js,Coffeescript,我有一个看法: class FancyView extends Backbone.View template: #fancytemplate initialize: () -> @add() @model.bind('change', @update) add: () -> $(@el).html($(@template).tmpl(@model.toJSON())).prependTo('#fancy')
class FancyView extends Backbone.View
template: #fancytemplate
initialize: () ->
@add()
@model.bind('change', @update)
add: () ->
$(@el).html($(@template).tmpl(@model.toJSON())).prependTo('#fancy')
update: () ->
$(@el).html($(@template).tmpl(@model.toJSON()))
当日志记录中出现更改时,更新中的日志记录@model.changedAttributes()
显示数据下的更改
,但日志记录@model
仍显示旧数据,因此更新时没有任何更改
为什么
@model
仍然是旧数据?如果能看到更多。。。模板是什么样子的?您使用的模板引擎是什么
我可以说,我看到了一个问题的蝙蝠。。。对于更新
功能,您需要使用“胖箭头”(=>
)而不是(->
)。如果不这样做,@el
、@template
和@model
将在触发事件时处于错误的上下文中
update: =>
$(@el).html($(@template).tmpl(@model.toJSON()))
我不确定在没有看到模型代码的情况下是否可以调试它,也可能没有看到您描述的日志记录的示例输出。抱歉,修复了它,整个“在数据下显示更改”是因为它将它放在了
数据
子模型中!所以这个问题仍然有效吗?纳拉比诺维茨:不,我知道了,谢谢。如果你已经知道了,就发布你问题的答案。对不起!刚刚修复了它,整个“在数据下显示更改”是因为它将其放在数据子模型中!