首页 > 解决方案 > 如何使用模板文字传递动态参数?

问题描述

我有一些非常简单的代码


function createAnswerElement(answer, index) {
  const key = `${answer}-${index}`;

  return `
    <p class="delete" onclick=someSillyFunc(${key})>x</p>
    `;
}

function someSillyFunc(key) {
  console.log(key);
}

“p 标签”被附加到一个 div 上。如果我单击没有参数或硬编码参数的“p 标签”,它就可以正常工作。问题是当我尝试使用模板文字将变量键动态传递给函数时。执行此操作后,我在控制台中不断收到错误“参数列表后未捕获的语法错误:缺少)。”

我曾尝试将关键变量用引号和其他各种东西包装起来,但无法使其正常工作。我错过了什么?

标签: javascripthtmlwebtemplate-literals

解决方案


您忘记在 onclick 中将函数包裹在“”周围

return `
    <p class="delete" onclick="someSillyFunc(${key})">x</p>
    `;

推荐阅读