Посмотрите на эту jsfiddle пожалуйста: https://jsfiddle.net/76bypu9d/Backbone: смотреть визуализируем метод вызывается, но DOM не обновляя
Как вы можете видеть, у меня есть список игроков, с силой, ловкостью и интеллектом. Когда я нажимаю кнопку обновления, я вычисляю точки на основе входных данных.
Однако PlayerView не быть повторно вынесен, хотя я сделал вид слушать изменения на модели:
var PlayerView = Backbone.View.extend({
tagName: "<tr>",
initialize: function() {
_.bindAll(this, "render");
this.listenTo(this.model, "change", this.render);
},
render: function() {
var html = "<td>" + this.model.get("name") + "</td>";
html += "<td>" + this.model.get("job") + "</td>";
html += "<td>" + this.model.get("str") + "</td>";
html += "<td>" + this.model.get("dex") + "</td>";
html += "<td>" + this.model.get("int") + "</td>";
html += "<td>" + this.model.get("points") + "</td>";
$(this.el).html(html);
return this;
}
});
Я вижу, вижу в консоли, что модели были обновлены с новым значением и вызывается метод представления, но значения в DOM не изменяются. Любые идеи почему?
Какую версию позвоночника вы используете? И если не последняя, есть ли причина, по которой вы не могли бы использовать последнюю? – JMM
Безрассудно, глупый вопрос. Я вижу, что ваша скрипка использует 1.1.2. Есть несколько оптимизаций для вашего кода, доступных на основе этой Backbone-версии. Я посмотрю, могу ли я включить некоторых в свой ответ. – JMM