我想说“当question_number
更改时,运行updateQuestionNumber
。如果有任何东西question_number
(以及我提供自定义渲染函数的任何其他内容),运行 .render()”。
以下代码的问题是两者都运行updateQuestionNumber
。render
v.QuestionBuilder = Backbone.View.extend({
initialize: function() {
this.model.on('change:question_number', this.updateQuestionNumber, this);
this.model.on('change', this.render, this);
},
//only this function should run when question_number is changed
updateQuestionNumber: function(){
this.$('.question-number').text(this.model.get('question_number'));
},
//this should run when anything except question_number is changed
render: function() {
this.$el.html(this.template(this.model.toJSON()));
this.$el.fadeIn('slow');
/* blah blah blah */
return this;
}
});