2015-06-09 40 views
3

我参考这个questiondocument我知道如何冒泡。做骨干marionette.js父视图下泡?

但在我的情况下,我想泡下去。

就像我点击父视图上的一个按钮,然后触发我的所有childview的一些功能。

var parent = Marionette.CompositeView.extend({ 
    triggers: { 
     'click #edit': "??" // trigger the childview 
    } 
}) 

上面只是描述我的概念的代码。

编辑

或许不是用提线木偶,可以使用骨干做的伎俩?

有谁知道如何制作它?

感谢

回答

4

如果您使用的木偶,那么你就可以this.children访问所有孩子的意见。 children属性委托一些下划线功能,如invoke,所以你可以拨打this.children.invoke。像这样的东西可能适合您的需求:

var ChildView = Marionette.ItemView.extend({ 
    template: _.template('child'), 

    myChildFunction: function() { 
    console.log('child view', this); 
    } 
}); 

var ParentView = Marionette.CompositeView.extend({ 
    template: _.template('<button id="edit">Edit</button><div class="children"></div>'), 

    childView: ChildView, 

    childViewContainer: '.children', 

    events: { 
    'click #edit': 'triggerChildren' 
    }, 

    triggerChildren: function() { 
    this.children.invoke('myChildFunction'); 
    } 
}); 
+0

真的很感谢你!!!!你的答案帮助我! –