如何将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
相关产品推荐
相关产品推荐

