2011-10-12 2 views
0

У меня есть мнение:модели «изменение», но это не

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 все еще старые данные?

+0

Не уверен, что это можно отладить, не видя код модели, и, возможно, образец вывода для журнала, который вы описываете. – nrabinowitz

+0

Извините, исправлено, что все «показывает изменения под данными» было потому, что оно помещало его в под-модель 'data'! – fancy

+0

Итак ... вопрос все еще действителен? – nrabinowitz

ответ

1

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

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

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

Извините! Просто зафиксировав это, все «показывает изменения в данных» было связано с тем, что он помещал его в подмодуль данных! – fancy

+0

Спасибо, хотя! – fancy

Смежные вопросы