我快速的應用程序使用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