2014-02-16 113 views
0

我正在使用Express,Jade和Bootstrap作为Node.js网站的热身工作,并且遇到了一个小问题。在Jade模板之间传递参数

我正在使用包括页面的各个部分,如导航标题等,使网站尽可能模块化。我做了管理界面的静态部分,现在开始添加动态,并有问题。

例如,如果我想创建一个启用手风琴用户列表,现在我必须做到以下几点:

doctype html 
html 
    head 
    title= 'My Awesome Website | ' + title 
    include imports/bootstrap 
    link(rel='stylesheet', href='css/style.css') 
    body 
    include include/navbar 
    .container-fluid 
     include include/sidebar-admin 

     ul.list-user 
     each user in users 
     li.user 
      h3.user.user-header= user.name 
      //etc 

取而代之的是,我想将整个立。用户阻止到一个单独的玉石文件,这样做:

ul.list-user 
    each user in users 
    include include/userlistitem 

但由于某些原因,该变量用户不能向下传递到包括。有没有办法强制它包含的文件有一个特定的变量,或者它尚未实现?

+0

你会不会是最好使用[密新](HTTP://玉琅的.com /参考/#混入)? –

+0

Mixins会很好,但由于某些原因,它们不会通过包含,至少在我的结尾。 – fonix232

回答

0

一个解决方案不能通过直接工作: 在控制器中呈现HTML并将其添加到“用户”实例。

实施例:

在控制器

user.html = jade.renderFile("views/_userlistitem.jade",{name:value}); 

在JADE文件:

ul.list-user 
    each user in users 
     #{user.html}