开发者

Model 'changing', but it's not

I have a view:

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.开发者_如何学GotoJSON()))

When a change comes in logging @model.changedAttributes() in update shows changes under data but logging @model still shows the old data and thus nothing changes on update.

Why is @model still the old data?


It would be nice to see more... what does the template look like? What templating engine are you using?

I can say that I see one problem off the bat... you need to use the "fat arrow" (=>) instead of (->) for your update function. If you don't, @el, @template and @model will be in the wrong context when the event fires.

update: =>
    $(@el).html($(@template).tmpl(@model.toJSON()))
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜