gpt4 book ai didi

javascript - AureliaJS 中 ul 项目的 click.delegate

转载 作者:行者123 更新时间:2023-11-30 09:47:15 24 4
gpt4 key购买 nike

给定 ul 列表定义如下:

<ul click.delegate="onListItemClick()">
<li repeat.for="suggestion of suggestions">
${suggestion.name}
</li>
</ul>

如何将建议对象传递给 onListItemClick?我知道我可以将 click.delegate 放在每个单独的 li 元素上,然后捕获当前的 suggestion 但这不会违背事件委托(delegate)的想法吗?我的意思是 - 那么我将附加多个事件处理程序,如果是这样,我可以使用 click.trigger。我不想这样做,因为可能有大量的这些 suggestion 对象。

最佳答案

将点击处理程序放在 li 元素上。这就是 Aurelia 事件委托(delegate)的全部意义。它允许您执行类似的操作,而无需创建一堆事件处理程序的开销。框架只为您创建一个事件处理程序。它委托(delegate)调用。所有元素的单击事件都将设置为相同的函数,并且 Aurelia 将处理调用您的 VM 方法。

这是一个要点:https://gist.run/?id=406bf3bc73e415db7afa7d46d7e958d3

<template>
You clicked suggestion id "${clickedId}"
<ul>
<li repeat.for="suggestion of suggestions" click.delegate="handleClick(suggestion)">
${suggestion.name}
</li>
</ul>
</template>

关于javascript - AureliaJS 中 ul 项目的 click.delegate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38383695/

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