【发布时间】:2013-04-30 07:11:42
【问题描述】:
是否可以为listenTo回调绑定函数参数?
到目前为止,我已经添加了一个包装方法“myHandler”,我想摆脱它:
// Basic marionette layout
var view = Marionette.Layout.extend({
initialize: function() {
// wrapping view logic inside a custom object
this.controller = new MyViewController();
},
// creates a sub view and adds event handlers
someFunc: function() {
var subView = new MySubView();
// HERE: how to bind args for callback?
this.listenTo(subView, "myEvent", this.myHandler, this);
},
// this is a dummy wrapper that I want to remove
myHandler: function(e) {
this.controller.handleIt(this, e);
},
我想做的是这样的:
someFunc: function() {
var subView = new MySubView();
// here wrapIt binds 'this' as first argument for handleIt
this.listenTo(subView, "myEvent",
wrapIt(this.controller.handleIt, this), this);
}
【问题讨论】:
-
this.controller.handleIt是什么? -
@Qantas94Heavy 这是一个用于包装视图逻辑的 FSM:javascript-state-machine
-
这些答案有帮助吗?
标签: javascript backbone.js marionette