2016-06-16 8 views
3

Ich habe schon eine Reihe von Antworten zu diesem Thema gesehen, aber keine, die den gesamten Prozess abdeckt. Ich habe wirklich keine Ideen mehr.Wie man eine Variable von Express zu einer Jade Vorlage übergibt

Hier ist mein Code:

express Code

res.render('index', {expressVar:"My Great Example"}); 


template.jade

doctype html 

block vars 

html 
    head 

    body 
     | #{working} 

     | #{notWorking} 

     | #{notWorking2} 


index.jade

extends template.jade 

- var localVar = "Other Example" 

block vars 
    - var working  = "This is working" 
    - var notWorking = expressVar 
    - var notWorking2 = localVar 


Was i'really zu tun versuchen beide Variablen zu erhalten, ist die Arbeit nicht in der Vorlage gedruckt werden.

Vielen Dank im Voraus.

Antwort

3

Darren Schnare schrieb einen Artikel, der erklärt, wie dies herauszufinden: http://darrenschnare.com/blog/2013/08/14/sharing-variables-with-jade-templates/

Sie müssen alle Markup in einem Root-Block platzieren dann Variablen in der Vorlage in diesem Block deklarieren. Alle Variablen sind für jeden Bereich zugänglich, der ein Kind des Bereichs ist.

template.jade

doctype html 

block page 
    html 
     head 

     body 
      | #{working} 

      | #{notWorking} 

      | #{notWorking2} 

index.jade

extends template 

- localVar = "Other Example" 

prepend page 
    - working  = "This is working" 
    - notWorking = expressVar 
    - notWorking2 = localVar 
+1

Schöner Artikel. Vielen Dank, Bob. – Marteiro

+0

hey danke für die Antwort aber lassen Sie uns sagen, dass meine Jade-Vorlage ein externes Skript wie main.js hat, wie kann ich auf # {arbeiten} in dieser Datei zugreifen – PirateApp

Verwandte Themen