2014-05-21 13 views
9

Sto usando ejs nel backend con nodejs. Vorrei passare una variabile quando includo. Quando includi l'intestazione, passa il titolo della pagina.EJS - passa la variabile quando include

index.ejs:

<% include header %> 
<body> . . . </body> 
<% include footer%> 

header.ejs:

<html lang="en"> 
<head> 
    <title><%- my_tytle %></title> 
</head> 

footer.ejs:

</html> 

Come passare my_title nel comando include?

+0

Penso che quando 'my_title' è definito all'interno index.ejs, è anche conosciuta all'interno del header-parziale ... – pkyeck

+0

si può elaborare con un esempio? – nkint

risposta

4

è possibile passare my_tytle direttamente a index.ejs e se è presente una vista parziale per l'intestazione, my_tytle dovrebbe essere accessibile per l'intestazione.

ad esempio: index.ejs:

<% include header %> 
<body> . . . </body> 
<% include footer%> 

header.ejs:

<html lang="en"> 
<head> 
    <title><%- my_tytle %></title> 
</head> 

ora da server del nodo se si passa il valore per my_tytle a index.ejs, come questo:

res.render('template_file.js', { 
     my_tytle : "Value for your title" 
    }); 

quindi la tua vista parziale (cioè l'intestazione nel tuo caso) sarebbe anche una le per accedere a quella variabile.

+0

il suo fantastico lavoro bene :) – Adiii

9

è possibile passare l'oggetto all'interno l'istruzione include

<%- include("header",{title:"your_title"}) %>

Problemi correlati