2014-05-21 4 views
9

Ich benutze ejs im Backend mit Nodejs. Ich möchte Variable übergeben, wenn Sie einschließen. Wenn die Kopfzeile enthalten ist, übergeben Sie den Seitentitel.EJS - Variable übergeben, wenn include

index.ejs:

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

header.ejs:

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

footer.ejs:

</html> 

Wie my_title in der Include-Befehl übergeben?

+0

Ich denke, wenn 'my_title' innerhalb index.ejs definiert ist, ist es auch im Inneren der Kopfteil bekannt ist ... – pkyeck

+0

können Sie erarbeiten mit einem Beispiel? – nkint

Antwort

4

können Sie my_tytle direkt an die index.ejs übergeben und wenn es eine Teilansicht für den Header gibt, sollte my_tytle auf die Kopfzeile zugreifen können.

zum Beispiel: index.ejs:

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

header.ejs:

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

nun vom Knoten Server, wenn Sie den Wert für my_tytle zu index.ejs, wie dies passieren:

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

dann wäre Ihre Teilansicht (dh Header in Ihrem Fall) auch ab um auf diese Variable zuzugreifen.

+0

seine erstaunliche Arbeit gut :) – Adiii

9

können Sie das Objekt passieren innerhalb der Erklärung enthalten

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