假设我有一个布局:
layout = Marionette.LayoutView
我有一个带有集合视图的区域。
collectionView = Marionette.CollectionView
layout.collectionRegion.show(collectionView)
如果我在layout
上触发某个事件,我怎样才能让集合视图听取它?例如
collectionView.on("get:to:collection:view")
layout.trigger("get:to:collection:view")
// IN THIS CASE THE COLLECTION VIEW WILL NOT RECEIVE THE EVENT
答案 0 :(得分:1)
您目前正在layout
触发事件并在collectionView
上侦听事件。您应该只在collectionView本身上触发事件:
collectionView.trigger('some:event');
// In the collection view
this.listenTo(this, 'some:event', callback);
如果希望集合视图侦听布局上的事件,则必须将布局传递到集合视图中,或者从布局中调用集合视图上的回调。最好是collectionView
对layout
一无所知,layout
向下推动所有通信,就像我上面所说的那样。