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中。