在 ejs forEach 循环中,我有带链接的元素,例如:
<% someArray.forEach(function(someElement) { %>
<div>
<h5>someElement.title</h5>
<a href="#" onclick="<% doSomeAction(someElement) %>">Some Action</a>
</div>
<% }); %>
当我点击一个元素上的链接时,它会触发列表中所有元素的 onclick 事件。假设我的 Express 代码如下所示:
let someArray = [
{
title: 'Title 1',
body: 'This is element 1'
},
{
title: 'Title 2',
body: 'This is element 2'
}
];
let doSomeAction = (someElement) => {
console.log(someElement.title);
};
如果我点击
title
是“标题 1”的元素,这就是将要记录在控制台中的内容:
Title 1
Title 2
任何人都可以解释这种行为吗?我应该纠正什么,或者更好的方法是什么。我正在使用带有 ejs 的 Express,我之前没有使用 ejs 的经验,所以我可能做错了什么。
这可能有很多年的历史了,并且在这类事情上有潜在的“重复”,但我自己偶然发现了这个问题,因为这是我发现的第一个线程,所以我想我可能会在这里链接其他线程和有用的信息。希望将来可能会出现在这个话题上的其他人(和我自己)觉得它有帮助。