You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Handlebars数据项传递给函数?代码报错求解

问题解答

你的问题出在混淆了模板引擎变量语法和JavaScript模板字符串语法,${{this.id}}是错误的混合写法,正确写法分两种情况:

  • 如果this.id是数值类型(比如商品ID为数字),直接传入模板变量:

    <button id="Button" onclick="addToCart({{this.id}})">Press</button>
    
  • 如果this.id是字符串类型,需要给变量包裹单引号,避免JavaScript解析报错:

    <button id="Button" onclick="addToCart('{{this.id}}')">Press</button>
    

补充:更规范的写法是避免在HTML属性中直接写onclick,可以通过元素的data-*属性存储ID,再用JavaScript单独绑定点击事件(比如通过document.getElementById('Button').addEventListener('click', ...)),但如果要沿用当前的写法,上面两种即可解决问题。

内容的提问来源于stack exchange,提问作者jsnjdhs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 04:45:57