在javascript中以模板文本的形式传递对象作为参数

在javascript中以模板文本的形式传递对象作为参数,javascript,Javascript,我当前有一个对象,我想将其作为参数传递给模板文本中的另一个函数: var template = `<button onclick="onclick(${object})"></button>`; var模板=``; 但是,这会使参数成为字符串值:[object object],并且不会传递参数。有没有办法将此参数传递到函数中 非常感谢。您需要将对象表示为字符串。您可以使用JSON.stringify来实现这一点: var template = `<but

我当前有一个对象,我想将其作为参数传递给模板文本中的另一个函数:

    var template = `<button onclick="onclick(${object})"></button>`;
var模板=``;
但是,这会使参数成为字符串值:
[object object]
,并且不会传递参数。有没有办法将此参数传递到函数中


非常感谢。您需要将对象表示为字符串。您可以使用JSON.stringify来实现这一点:

var template = `<button onclick="handleClick(${JSON.stringify(obj).split('"').join("&quot;")})"></button>`;

var template=`我怎样才能将它转换回一个对象呢?Javascript应该将字符串化的代码作为一个对象进行评估。JSON是一种更严格的Javascript对象文本形式。但是,如果需要将JSON字符串转换为对象,可以运行
JSON.parse(string)
您的警告没有抓住要点。对于
{example:“撇号:'”}
,它仍然失败。你实际上需要做的是在序列化对象之后对字符串进行html实体转义。模板文本中没有函数,它只是一个字符串,并且你的对象也是字符串插值的。不要使用
onclick
事件处理程序属性,请正确安装事件侦听器函数!您不需要处理对象序列化和反序列化,不需要js转义,不需要html转义,不需要属性事件处理程序的奇怪作用域,您实际上可以使用真实的对象(相同的标识),而且效率更高。看见