Sto usando ejs-locals per Express 3.x (https://github.com/RandomEtc/ejs-locals)
Come inserire un tag di script da un modello con dati dinamici?
Nel mio layout.ejs ho
<%- block.scripts %>
Nel mio modello di pagina login.ejs voglio sostituirlo con alcuni dati dinamici:
<% block("scripts", "<script> var app = window.app || {}; app.err = <%- JSON.stringify(err) %>, app.q = <%- JSON.stringify(q) %>; </script>") -%>
Ottengo un errore:
500 SyntaxError: Unexpected token %
- Sto assumendo perché non posso farlo <%= JSON.stringigy(err) %>
Qui.
risposte:
2 per risposta № 1Ho risolto il problema spostando l'inserimento dello script in layout.ejs poiché è sempre lo stesso.
<% include script %>
</body>
Altrimenti, devi terminare la stringa:
//this works but is rather cumbersome to do on every page template.
<% block("script", "<script>" +
"app.req.err = "+ JSON.stringify(err) +";n" +
"app.req.q = "+ JSON.stringify(q) +";n" +
"</script>") %>