我面临以下挑战:
我希望在每次获取数据时实现一个加载花。
我的引导代码如下所示:
var myCollection = new MyCollection({});
myCollection.fetch({
success: function () {
var listView = new ListView({model: myCollection});
}
});
我的观点如下:
var ListView = Backbone.View.extend({
...
initialize: function () {
this.model.bind('request', this.ajaxStart, this);
this.model.bind('sync', this.ajaxComplete, this);
self.render();
},
});
我的问题:request
事件没有被激发,因为在请求开始时,ListView
还没有被设置。
我试着改变我的引导代码,但是到目前为止没有任何效果。这总是一个chicken or the egg
问题。要么我在正确的地方设置了视图,要么我有数据。
我试图将collection
示例传递给视图,但通过set()
或其他方法似乎不可能。
1条答案
按热度按时间2exbekwf1#
你也许应该重新组织你的结构,将集合设置为视图模型不是很明显。也许你应该添加ListModel,它将处理你的集合示例化和更新,然后设置你的视图来监听你的ListModel自定义事件。至于先有鸡还是先有蛋的问题