所以我使用javascript对象来呈现项目列表。我的对象看起来像这样:
{
text: 'One',
url: 'index.pug'
},
{
text: 'Two',
url: 'Two.pug'
},
{
text: 'Three',
url: 'Three.pug'
}
}
有趣的部分是当哈巴狗呈现它们时。我正在使用这样的东西渲染它们:
div
ul.horizontalScroll
each item in params.apps
li
a(onclick="loadXMLDoc(#{item.url})") #{item.text}
我无法弄清楚为什么item.text正确呈现,但点击链接不会ping函数。在chrome检查员中,我看到了这一点:<a onclick="loadXMLDoc(#)">One </a>
。为什么这个论点不像index.pug
那样通过呢?
答案 0 :(得分:4)
尝试连接属性中的变量:
a(onclick="loadXMLDoc('" + item.url + "')") #{item.text}
答案 1 :(得分:0)
接受的解决方案对我不起作用。我能够继续前进,略有不同。
a(onclick="loadXMLDoc('#{item.url}')") #{item.text}
注意单引号和双引号的区别。另请注意,因为文本自动填充可能会尝试添加更多引号。
此解决方案有效,因为 loadXMLDoc 需要一个字符串。您需要使用不同的引号字符,以便在将url字符串转换为html时将其嵌套在属性字符串中。