gpt4 book ai didi

marionette - ItemView 触发器会冒泡吗?

转载 作者:行者123 更新时间:2023-12-04 05:52:55 26 4
gpt4 key购买 nike

我有一个用于表的 CompositeView。我在子 ItemView 中为每一行设置了触发器...

var TableRow = Marionette.ItemView.extend({
tagName: "tr",
template: _.template($(TableTemplates).filter('#tableRow').html()),
triggers: {
"click td": "click:td"
}
});

触发器是否应该冒泡到父 CompositeView?

来自 the docs ...

Having access to these [the view, model, and collection properties of the view that triggered the event] allows more flexibility in handling events from multiple views. For example, a tab control or expand/collapse widget such as a panel bar could trigger the same event from many different views and be handled with a single function.



“单个函数”不是在父 CompositeView 中,以便它可以对来自其任何子 ItemViews 的触发器使用react吗? CompositeView 如何监听 ItemView 触发器?

谢谢

最佳答案

是的,它们冒泡了。

唯一要记住的是,当 ItemViewCompositeView 调用或 CollectionView ,该触发器将具有 itemview以名称开头,因此:
click:td将在 CompositeView 中收听如 itemview:click:td
该字符串可以像这样更改:

var CV = Marionette.CollectionView.extend({
itemViewEventPrefix: "some:prefix"
});

所以你的触发器是 some:prefix:click:td
编辑:在较新的版本上(不确定起始版本),前缀 itemview已更改为 childview
更多信息在这里:

Marionette docs

关于marionette - ItemView 触发器会冒泡吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16740793/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com