У меня есть представление, которое имеет свойство headerClass
, которое я определяю в верхней части представления и различными способами. Меняю значение на this.headerClass = 'new value'
.Как наблюдать за переменными изменениями в Backbone
Но как я могу следить за изменениями этой переменной? Я попытался добавить this.headerClass.on("change", this.render, this);
, но при этом получаю сообщение об ошибке.
Ниже мой код
MyView = Backbone.View.extend({
el: $(".header"),
template: _.template($("#header-template").html()),
headerClass: 'normal',
initialize: function() {
this.render();
//This doesn't seem to work
this.headerClass.on("change", this.render, this);
},
render: function() {
this.$el.html(this.template({headerClass: this.headerClass}));
return this;
},
changeClass: function() {
//When the value changes I want to re-render the view
this.headerClass: 'fluid';
}
});
Вы можете настроить пользовательский прослушиватель на представление, а затем вызвать его при изменении заголовка. еще один вариант - подключить модель к просмотру и прослушать его изменения ... – MorKadosh
Я уверен, что это просто ошибка копирования/вставки, но у вас есть проблема в вашей функции 'changeClass' при установке значения' headerClass'. Вы должны использовать оператор равенства, а не двоеточие. – Lix