我快速的应用程序使用EJS,和我的看法目录如下:使用插包括
./views
./contents
home.ejs
./includes
header.ejs
footer.ejs
layout.ejs
我想有条件基于加载home.ejs我layout.ejs视图在我的routes/index.js中的一个名为contents
的本地变量上。这个文件看起来是这样的:
/*
* GET home page.
*/
exports.index = function(req, res){
res.render('index', { title: 'Home', contents: 'home.ejs' });
};
理想的情况下,我可以简单的写(在layout.ejs):
<% include '/contents' + contents %>
在结尾的“内容”是含有对身体的相对路径的局部变量文本加载。
但是,可惜的是,看起来EJS总是按照字面上的include
指令解释文本,并且没有机会发生任何插值魔术。
我也试过无济于事:
<% function yieldContent(contents){ %>
<% var contentPath = 'contents/' + contents; %>
<% include contentPath %>
<% }; %>
<% loadContent(); %>
是否有人在有条件包括基于在路线传递一个变量视图创造性的解决方案?
有没有解决这个问题? – 2012-09-30 15:16:20
+1,如果它不能动态的话,包括什么?我不知道如何使用它。 – 2012-11-04 18:37:03