我正在使用Node和Express,使用Pug(以前的Jade)模板引擎来呈现我的html。一切都很顺利,直到我开始尝试将变量注入到我的锚链接的href
中。奇怪的是,如果我将Express应用程序的view engine
更改为jade
,则事情就会按预期工作。
根据我阅读过的其他文章,问题似乎是一个内插问题,但我似乎找不到一个资源或文档来正确解决这个问题。
例如:
我正在从一个rooms
json数组中提取数据,然后使用for
循环遍历每个数组元素并输出每个房间的数据。使用jade
,以下内容有效。
table.table.table-striped
thead
tr
th Name
th Id
tbody
each room in rooms
tr
td(style="width: 50px;")
a(href!="/admin/rooms/delete/#{room.id}") Delete
td #{allTitleCase(room.name)}
td #{room.id}
使用 pug
时上述代码不能正常工作。特别地,a(href='/admin/rooms/delete/#{room.id}') Delete
链接无法正常工作。它会将房间 id 直接输出到链接的 href
结尾部分,而不是将其注入其中。
有什么方法可以在 pug
中修复这个问题吗?
请注意,我已经尝试了以下所有选项,但都没有起作用:
a(href="/admin/rooms/delete/#{room.id}") Delete
a(href!="/admin/rooms/delete/#{room.id}") Delete
pug
作为view engine
时并不起作用。我认为它在jade-lang网站上工作是因为那实际上使用的是jade
而不是pug
。 - Coreya(href="/admin/rooms/delete/" + room.id) Delete
,这样就可以了。感谢您的帮助,我很感激。您能否编辑您的答案以包含正确的代码?如果可以的话,我将标记您的答案为正确。 - Corey