ryb*_*ome 19 javascript event-handling backbone.js
我有一个骨干应用程序,其视图结构如下所示 - 请注意,为了简洁,我删除了实现,模型,集合等:
NewsListView = Backbone.View.extend({
el: $('li#newspane'),
// This is what I would like to be able to do
// events: { 'filtered': 'reset' }
initialize: function() {
_.bindAll(this);
},
render: function() {
},
reset: function(){
}
});
FilterView = Backbone.View.extend({
el: $('li.filter'),
initialize: function() {
},
render: function() {
},
toggleFilter: function() {
}
});
AllView = Backbone.View.extend({
initialize: function() {
this.newsListView = new NewsListView();
this.filterView = new FilterView();
}
});
Run Code Online (Sandbox Code Playgroud)
从本质上讲,只要FilterView的toggleFilter()函数被调用,我想激发关闭称为事件filtered像,然后由该抓什么NewsListView,然后调用它的reset()功能.没有将NewsListView对象的引用传递给我FilterView,我不确定如何将它发送给我.有任何想法吗?
你走在正确的轨道上.听起来你需要的是全球事件调度员.这里有一篇不错的文章和例子:http://www.michikono.com/2012/01/11/adding-a-centralized-event-dispatcher-on-backbone-js/