Fly*_*ver 4 javascript backbone.js
由于某种原因,我需要使用一个变量作为骨干事件的选择器,但我无法想象如何做到这一点:
app.views.Selfcare = Backbone.View.extend({
events: {
click window.parent.document .close : "closeWindow"
},
closeWindow: function() {
//code
}
});
Run Code Online (Sandbox Code Playgroud)
我必须使用不同的范围,我不能做"click .close":"closeWindow".
谢谢你的帮助.
我查看了Backbone.js的源代码,发现如果你的视图events是一个函数,那么函数被调用,它的返回值被用作events对象.
这意味着您的代码可以像这样更改:
app.views.Selfcare = Backbone.View.extend({
events: function() {
var _events = {
// all "standard" events can be here if you like
}
_events["events" + "with variables"] = "closeWindow";
return _events;
},
closeWindow: function() {
//code
}
});
Run Code Online (Sandbox Code Playgroud)
这是源代码中有趣的部分:
if (_.isFunction(events)) events = events.call(this);
Run Code Online (Sandbox Code Playgroud)
更新:
JSFiddle HERE上提供了示例**
| 归档时间: |
|
| 查看次数: |
979 次 |
| 最近记录: |