[英]JavaScript Map Function Passing Object to another Function in Template Literal
[英]Passing object as a parameter in a template literal in javascript
我目前有一个对象,希望将其作为参数传递给模板文字内部的另一个函数:
var template = `<button onclick="onclick(${object})"></button>`;
但是,这会使参数成为字符串值: [object Object]
并且不传递参数。 有什么办法可以将此参数传递给函数吗?
提前非常感谢您。
您将需要将您的对象表示为字符串。 您可以使用JSON.stringify
进行此操作:
var template = `<button onclick="handleClick(${JSON.stringify(obj).split('"').join(""")})"></button>`;
您需要转义双引号(此代码可以做到)和单引号(如果用于onclick事件)(此代码不需要)。
onclick =“ onclick”实际上调用window.onclick-意味着它可以在任何地方获得点击。 您应该使用其他名称(例如handleClick)。
我建议不要因为这种原因而使用内联事件监听器,因为如果您需要采用内容安全策略,它们可能会引起问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.