我想使用集合视图的冒泡行为,但它似乎不起作用。
一些上下文:我显示一个模态AddPartFromPurchase
,显示一个填充了collectionView的表。这很有效。
当用户点击一行时,itemview会触发purchase:chosen
事件,因此根据文档,我希望集合视图能够接收itemview:purchase:chosen
事件,但不会触发此类事件: AddPartFromPurchase
或Purchases
。 :(
以下是示例代码。
AddPartFromPurchase = Backbone.Marionette.ItemView.extend template: 'pages/vehicles/modifications/add_part_from_purchase' initialize: (attributes)-> @purchases = attributes.purchases onRender: -> view = new Purchases(el: @$('tbody'), collection: @purchases) @bindTo(view, 'all', @foo) view.render() foo: (event, foo, bar, baz)-> console.log(event, foo, bar, baz) Purchase = Backbone.Marionette.ItemView.extend template: 'pages/vehicles/modifications/purchase' tagName: 'tr' events: 'click' : 'selectPurchase' selectPurchase: -> @trigger('purchase:chosen', @model) false serializeData: -> purchase: @model part: @model.get('part') Purchases = Backbone.Marionette.CollectionView.extend itemView: Purchase initialize: -> @bindTo(@, 'all', @foo) foo: (event, foo, bar, baz)-> console.log(event, foo, bar, baz)
也许我做错了,我觉得在onRender
中定义听众感觉很糟糕,但是当我使用el
时,我无法在initialize
中做到这一点。< / p>
我该如何处理?
答案 0 :(得分:1)
基于评论流的答案:确保您在引入此功能时使用的是v0.7.6或更高版本。