gpt4 book ai didi

node.js - Pug(以前的 Jade)变量在 Anchor Href 内不能正确工作(插值)

转载 作者:IT老高 更新时间:2023-10-28 23:15:15 26 4
gpt4 key购买 nike

我正在使用 Node 和 Express,并且正在使用 Pug(以前的 Jade)模板引擎来呈现我的 html。在我开始尝试将变量注入(inject) anchor 链接的 href 之前,一切都运行良好。奇怪的是,如果我将我的 Express 应用程序 view engine 更改为 jade,那么事情就会开始按预期工作。

基于 other articles我读过这个问题似乎是一个插值问题,但是我似乎找不到显示如何正确解决此问题的资源或文档。

例如

我从 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 注入(inject)链接 href,而是将 #{room.id} 作为 href 链接的结尾部分输出。

任何想法如何在 pug 中解决这个问题?

请注意,我已使用 pug 尝试了以下所有方法,但这些选项均无效。

  • a(href="/admin/rooms/delete/#{room.id}") 删除
  • a(href!="/admin/rooms/delete/#{room.id}") 删除

最佳答案

更新:Pug 2.0 对插值的处理方式进行了重大更改。

基于 the changelog ,以下任何一项应该工作:

// to solve OP's problem, the following can be used:
a(href="/admin/rooms/delete/" + room.id) Delete

// Here are a few additional scenarios which use the new API
// for anyone stumbling across this answer in the future
- var href = "/admin/rooms/delete/" + room.id;
a(href=href)
a(href=`${href}`) // Node.js/io.js ≥ 1.0.0
a(href=href + '?foo=bar')

关于node.js - Pug(以前的 Jade)变量在 Anchor Href 内不能正确工作(插值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38426285/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com