我正在开发一个小型CMS系统,作为使用Express,Jade和Bootstrap的Node.js网站的热身,我遇到了一个小问题。
我正在使用包含页面的各个部分,例如导航标题等,以使网站尽可能模块化。我做了管理界面的静态部分,现在将开始添加动态,并且存在问题。
例如,如果我想创建一个支持手风琴的用户列表,那么现在我必须执行以下操作:
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
而不是这个,我想将整个li.user块移动到一个单独的jade文件中,并执行此操作:
ul.list-user
each user in users
include include/userlistitem
但由于某种原因,变量用户不会传递给include。有没有办法强制它到包含的文件中有一个特定的变量,或者它还没有实现?
答案 0 :(得分:0)
一种解决方案,不通过直接工作包括: 在控制器中渲染HTML并将其添加到“用户”实例。
示例:
控制器中的:
user.html = jade.renderFile("views/_userlistitem.jade",{name:value});
在JADE文件中:
ul.list-user
each user in users
#{user.html}