从事件回调中引用包含骨干视图?

时间:2013-11-26 23:25:57

标签: javascript backbone.js

我正在使用RequireJS和Backbone并使用collection收听add的{​​{1}}事件。我无法弄清楚如何引用listenTo作为我所在视图的实例,在本例中为this

GroupView

1 个答案:

答案 0 :(得分:2)

你有:

 this.listenTo(Groups,'add',this.addGroup,this);

使用Backbone的on,您可以提供第4个参数,就像您所做的那样,设置上下文。但是,这不适用于listenTo;它只需要三个参数(这是因为listenTo总是将上下文设置为listened-to对象。)

您应该能够通过创建绑定addGroup来解决这个问题:

 this.listenTo(Groups,'add',_(this.addGroup).bind(this));

或者您可以使用以下方法将方法绑定到您的类:

_(this).bindAll('addGroup');

然后让你做:

 this.listenTo(Groups,'add',this.addGroup);