gpt4 book ai didi

javascript - 如何访问 enyo 类型的子组件?

转载 作者:行者123 更新时间:2023-11-28 20:19:20 25 4
gpt4 key购买 nike

我有一种名为 RobustList 的类型,它扩展了 Control,它具有以下组件:

components: [
{name: "outerScroll",kind: "Scroller",touch: true,classes: "enyo-fit",components: [
{name: "list",kind: "Repeater",onSetupItem: "setupItem",components: [
{name: "item",components: [
{name: "index",style: "display:none;"}
]},
{name: "empty",fit: true,content: ""},
{name: "loadmore",fit: true,content: "Load More Items"}
]}
]}

]

现在我正在捕获 onSetupItem 事件,并在该函数中尝试访问子组件。但我有一个问题。我假设说 this.$ 可以让我访问所有子组件。目前它只允许我访问 outerscrolllist。这是为什么?

编辑

<小时/>

好吧,显然,当使用 List 类型时,我可以访问所有子组件(特别是在我重写的 create enyo 函数中)。我很困惑什么时候适合做某些事情。就像我假设 this.$ 可以在任何地方使用一样。事实绝对不是这样的。

最佳答案

回答你的问题,是的,如果它是一个列表,你可以使用 this.$. 访问 onSetupItem 中 RobustList 的任何子项。检查此处的文档:https://github.com/enyojs/enyo/wiki/Lists 。由于其享元模式,列表中只有一组事件控件,因此您可以通过名称直接引用它们。

您不想使用 this.$. 访问 Repeater 中的项目,因为组件有许多副本(每一行一个)。使用传入的引用(例如 var item = inEvent.item;)来访问行模板中的项目。

我还注意到您在列表中的几个组件上使用了“fit: true”。 FittableColumn/FittableRow 中只能有一个 fit: true 组件。这些实际上都不适合,所以它可能不会做你想要的事情。

关于javascript - 如何访问 enyo 类型的子组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18638918/

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