我使用EJS作为我的模板引擎。我将变量从节点js传递给ejs,如...
router.get("/AdminDatabase", function(req, res) {
res.render('Pages/AdminDatabase', {title: 'WebFormsAdmin', role: 'System Admin' });
});
我正在构建一个角色基础控件,为此我想根据用户的角色更改页面的标题。
<% include ../partials/Common/header_<%= role %> %>
问题出在上述部分。如何将变量角色置于此EJS代码段中?
我的标题文件是
header_System Admin.ejs,
header_Survey Admin.ejs,
header_Survey Taker.ejs
答案 0 :(得分:2)
解决方法是像这样进行条件渲染:
<% switch (role) {
case 'System Admin': %>
<% include ./partials/header_System_Admin %>
<% break; %>
<% case 'Survey Admin': %>
<% include ./partials/header_Survey_Admin %>
<% break; %>
<% default: %>
<% include ./partials/header_Survey_Taker %>
<% break; %>
<% } %>
请注意,第一种情况必须与switch声明分组。确保部分路径正确。