Поскольку вы используете CoffeeScript, вы можете использовать жирную стрелку (=>
) , чтобы привязать текущее значение this
к вашей функции:
@model.save({}, {
success: (model, response) =>
($ this.el).removeClass("editing")
})
Есливы работали в простом JavaScript, вы обычно использовали бы стандартный var self = this;
трюк:
var self = this;
model.save({ }, {
success: function(model, response) {
$(self.el).removeClass("editing");
}
});
Или, поскольку вы используете backbone.js (который требует underscore.js), вы можете использовать _.bind
для создания вашей связанной функции.
Если ваш обратный вызов был больше или вы хотите использовать один и тот же обратный вызов в нескольких местах, тогда _.bindAll
будетвариант.Вы должны сделать обратный вызов именованным методом, хотя;но, если бы обратный вызов был большим, вы, вероятно, все равно захотите отключить его.