以下代码有效,但我希望提高可读性和可访问性,避免编写callbacks
。
我需要在对我的集合执行提取时呈现我的视图。
这是工作代码:
var MyView = Backbone.View.extends({
initialize: function()
{
var that = this;
MyCollection.fetch({
success: function () {
that.render();
}
});
},
....
});
这里我的尝试不起作用:
var MyView = Backbone.View.extends({
initialize: function()
{
MyCollection.fetch();
MyCollection.bind('change', this.render);
},
....
});
答案 0 :(得分:2)
您似乎需要为context
的通话设置bind
。像这样:
MyCollection.bind('change', this.render, this);
Coffeescript的一个优点是它可以更清洁地处理这些事情。
ETA:change
事件未在fetch
上触发,仅在集合中的某个模型发生更改时触发。但是reset
is。此外,您在触发提取后绑定到事件,不确定这是否是您想要的。
除此之外:似乎让我感到困惑的是,您正在利用MyCollection
成员,使其轻松与class
混淆。