做骨干木偶.js父视图的气泡

Do backbone marionette.js parent view bubble down?

本文关键字:视图 气泡 js      更新时间:2023-09-26

我参考了这个问题和文档,我知道如何弹出

但在我的情况下,我想冷静下来。

就像我点击父视图上的一个按钮,然后触发所有子视图的一些函数。

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

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

编辑

或者也许不用牵线木偶,可以用脊骨来做这个把戏?

有人知道怎么做吗?

谢谢

如果您使用的是木偶,那么您可以使用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');
  }
});