我从一个视图中触发一个事件:
select: function () {
// Shorthand for the application namespace
var app = brickpile.app;
// Trigger the selected event
app.trigger('selected', this.model);
}
并在另一个视图中绑定到同一事件:
initialize: function () {
// Shorthand for the application namespace
var app = brickpile.app;
// bind to the selected event
app.bind('selected', this.selected);
},
在我的函数中,我得到当前的实例el属性?
selected: function (model) {
// find the input hidden located in this views el
$(this.el)... // is undefined
},
我错过了什么?
答案 0 :(得分:1)
我引用Backbone FAQ来回答你的问题
绑定“此”
也许唯一最常见的JavaScript“问题”是当你将一个函数作为回调传递时,它就是这样的事实 失去的价值。使用Backbone,处理事件和 回调,你经常会发现依赖_.bind和_.bindAll很有用 来自Underscore.js。
将回调绑定到Backbone事件时,您可以选择传递 可选的第三个参数指定将在此时使用的 稍后会调用回调。
尝试
app.bind('selected', this.selected, this);
或
_.bindAll(this, 'selected');
app.bind('selected', this.selected);