Sto giocando con Node ed Express e sto usando il motore di template Pug (precedentemente Jade) per rendere il mio html. Tutto ha funzionato bene fino a quando ho iniziato a provare a inserire variabili nello href
dei miei link di ancoraggio. La cosa strana è che se cambio l'app Express view engine
a jade
, le cose cominciano a funzionare come previsto.Variabili Pug (precedentemente Jade) Non funzionanti (Interpolation) Correttamente Inside Anchor Href
Sulla base di other articles Ho letto che il problema sembra essere un problema di interpolazione, tuttavia non riesco a trovare una risorsa o documentazione che mostra come correggere correttamente questo problema.
Es.
Sto prelevando i dati da un array rooms
json e quindi utilizzando un ciclo for
per scorrere attraverso ciascun elemento di matrice e generare i dati per ogni stanza. Utilizzando jade
i seguenti lavori.
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}
L'utilizzo di pug
non funziona correttamente. In particolare il collegamento a(href='/admin/rooms/delete/#{room.id}') Delete
non funziona correttamente. Invece di iniettare l'ID della camera nel link href, produce letteralmente # {room.id} come la parte finale del collegamento href
.
Qualche idea su come risolvere questo problema in pug
?
Nota che ho provato quanto segue utilizzando pug
ma nessuna di queste opzioni ha funzionato.
a(href="/admin/rooms/delete/#{room.id}") Delete
a(href!="/admin/rooms/delete/#{room.id}") Delete
Grazie per l'aiuto, purtroppo questo non ha funzionato per me. Mentre funzionava sul sito web di jade-lang, non sembra funzionare nella mia app Express con 'pug' come' view engine'. Penso che abbia funzionato sul sito web di jade-lang perché in realtà utilizza 'jade' e non' pug'. – Corey
Hai letto [il registro delle modifiche di Pug 2.0] (https://github.com/pugjs/pug/issues/2305)? – pdoherty926
Dopo aver controllato il log delle modifiche come hai suggerito, l'ho capito ... Ho cambiato il link di ancoraggio a 'a (href ="/admin/rooms/delete/"+ room.id) Delete" e questo ha funzionato. Grazie per l'aiuto, lo apprezzo. Puoi modificare la tua risposta per includere il codice corretto? Se è così, vado avanti e segna la tua risposta corretta. – Corey