【发布时间】:2017-01-09 22:28:07
【问题描述】:
我有一个扩展 SugarCRM CreateView 的视图类,当字段 starting_months_c 更改时,我希望 this 在函数 checkMonths 中成为 this.model,因此我可以键入 this.get() 而不是 this.model.get() .
/**
* @class View.Views.Base.DoVPCreateView
* @alias SUGAR.App.view.views.DoVPCreateView
* @extends View.Views.Base.CreateView
*/
({
extendsFrom: 'CreateView',
initialize: function(options) {
this._super('initialize', arguments);
// ....
this.model.on('change:starting_month_c', _.bind(this.checkMonths, this.model));
// ....
},
checkMonths: function() {
if (this.get('starting_month') == 12) {
// ....
}
}
不幸的是,这个结构不起作用。我想知道,也许是因为.on() 函数以某种方式设置了上下文本身?
我在文档中发现,您可以将上下文作为第三个参数传递给函数
object.on(event, callback, [context])
我试过了,但结果还是一样 - 视图是 this,而不是 model。
【问题讨论】:
标签: javascript events backbone.js underscore.js sugarcrm