question_number
「変更がupdateQuestionNumber
あった場合question_number
は、 .render() を実行してください」と言いたいと思います。
次のコードの問題は、両方がupdateQuestionNumber
ANDrender
で実行されることです。
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;
}
});