Pug`#{}`无法在`onclick`中加载variables

所以我使用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呈现正确,但点击链接不pingfunction。 在铬检查员,我看到这个: <a onclick="loadXMLDoc(#)">One </a> 。 为什么这个参数不能像index.pug那样通过呢?

尝试连接属性中的variables:

 a(onclick="loadXMLDoc('" + item.url + "')") #{item.text} 

接受的解决scheme并不适合我。 我能够稍微改变一些东西。

 a(onclick="loadXMLDoc('#{item.url}')") #{item.text} 

请注意单引号和双引号的区别。 还要小心,因为文本自动完成可能会尝试添加更多的引号。

这个解决scheme工作,因为loadXMLDoc需要一个string。 您需要使用不同的引号,以便urlstring在转换为html时embedded到属性string中。