Модель «меняется», но это не так - PullRequest
0 голосов
/ 12 октября 2011

У меня есть вид:

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() в обновлении показывает изменения под data, но в журнале @model все еще отображаются старые данные и, следовательно, ничего не меняется при обновлении.

Почему @model все еще старые данные?

1 Ответ

1 голос
/ 12 октября 2011

Было бы приятно увидеть больше ... как выглядит шаблон?Какой движок шаблонов вы используете?

Я могу сказать, что вижу одну проблему с самого начала ... вам нужно использовать "жирную стрелку" (=>) вместо (->) для вашегоupdate функция.Если вы этого не сделаете, @el, @template и @model будут в неправильном контексте, когда событие происходит.

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