2015-06-09 42 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

真的很感謝你!!!!你的答案幫助我! –