2011-08-23 11 views
15

Próbuję załadować kilka zmiennych z res czynią tak:pomoc przy wyświetlaniu zmienna w jade wyrazić

res.render('blog_edit', {title: 'edit your blog', posts: "something"}); 

chociaż tytuł ładunki grzywny po zawsze pojawia się jako niezdefiniowane ... oto niektóre z sposoby próbowałem ...

=posts 

#{posts} 

i jako zmiennej javaScript

script 
    document.write(posts) 

żaden one działają ... czy możesz pomóc? góry dzięki

+2

'# {posts}' działa pod Express 3.x – rab

Odpowiedz

21

spróbować

res.render('blog_edit', {locals:{title: 'edit your blog', posts: "something"}}); 

     #{locals.foo} 
+2

dzięki to działa teraz ... czy zawsze muszę używać "locals"? – rabidmachine9

+3

https://github.com/visionmedia/jade, jeśli zajrzysz do sekcji public api, powie ci, w jaki sposób możesz przekazywać zmienne (nie bardzo jasno). Używanie locals jest prawdopodobnie najlepszym sposobem na to. – Prospero

+0

Gdybym musiał przekazać to samo do pliku ejs, wyświetlił błąd "Uncaught SyntaxError: Unexpected Identifier". Każdy pomysł, dlaczego? – vardha

6

Używam najnowsze wersje dzisiaj ("express": "4.11.2", "Jade": "1.9.2") i jest to składnia, który działa dla mnie:

res.render('blog_edit', {title: 'edit your blog', posts: "something"}); 

W szablonie:

#{locals.posts} 

lub

#{posts} 
+0

Express 4.13 jade 1.11, ale oba sposoby nie działają dla mnie. – Rexford

+0

express 4.14 jade 1.11 działa w obie strony –

0

Oto, co działa dla mnie.

in JS 
    res.render('index', {email: req.params.email}); 

in Jade 
    #{locals.email} 
Powiązane problemy