2011-08-23 31 views
15

Estoy tratando de cargar algunas variables con res rinden así:ayuda con la visualización de una variable en jade expresar

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

aunque cargas título poste de la bella siempre aparece como indefinido ... aquí son algunas de las maneras me trataron ...

=posts 

#{posts} 

y como variable javascript

script 
    document.write(posts) 

ninguno de ellos están trabajando ... ¿pueden ayudarme? gracias de antemano

+2

'# {posts}' funciona bajo expreso 3.x – rab

Respuesta

21

tratan

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

     #{locals.foo} 
+2

gracias funciona ahora ... ¿siempre tengo que usar "locales"? – rabidmachine9

+3

https://github.com/visionmedia/jade Si mira en la sección api pública, le dice las formas en que puede pasar variables (aunque no muy claramente) Usar locales es probablemente la mejor manera de hacerlo. – Prospero

+0

Si tuviera que pasar lo mismo a un archivo ejs, me da el error "Uncaught SyntaxError: Unexpected identifier". ¿Alguna idea de por qué? – vardha

6

estoy usando las últimas versiones de hoy ("express": "4.11.2", "jade": "1.9.2") y esta es la sintaxis que funciona para mí:

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

En plantilla:

#{locals.posts} 

o

#{posts} 
+0

Express 4.13 jade 1.11 pero ambas formas no funcionan para mí. – Rexford

+0

express 4.14 jade 1.11 funciona en ambos sentidos –

0

Esto es lo que funciona para mí.

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

in Jade 
    #{locals.email} 
Cuestiones relacionadas