ОБНОВЛЕНИЕ: Как оказалось, у меня остался this.model = new MasterModel(); в моей функции subViews initialize().Backbone.js: передать модель в под-просмотр по ссылке
Я пытаюсь отделить свой огромный вид от меньших видов, и поэтому я создал «макет» макета, который прикрепляет к себе некоторые подзоны и передает им свою модель.
Однако, похоже, что когда мой подзадача обновляет модель, эти изменения не отражаются на модели «основного» вида.
Вот что я пытаюсь сделать:
var master = new MasterModel();
var masterView = new MasterView({model:master});
Внутри MasterView инициализации() функцию я делаю это:
function: initialize() {
this.subView = new subView({model:this.model});
}
И код, который изменяет модель в подвид заключается в следующем:
function: setCurrency() {
this.model.set({ currency: this.$('.currency').val() });
}
Возможно, я делаю что-то совершенно неправильное здесь?
Я не вижу ничего плохого с кодом так далеко. Вы уверены, что модель не обновляется? Или это может быть проблемой, когда обновления не отражаются в представлении? – JayC
В моделях есть события, которые вы можете привязать к «изменению», чтобы обновить представление. Могу ли я посмотреть привязку события к модели и что она делает, когда она обновляется? – websymphony
@JayC: Да, я уверен. У меня есть кнопка в главном представлении с предупреждением (JSON.stringify (this.model.toJSON())), прикрепленным к событию клика. Когда я нажимаю кнопку, хэш-код JSON не содержит изменений, которые я сделал в под-представлениях. – ragulka