我在几个地方使用了一个全局标头,我试图在渲染模板时可以传递的变量中定义它的位置.
就像是:
var headerLocation = 'some/location/header.ejs';
res.render( viewDir + '/index', {
header: headerLocation
} );
Run Code Online (Sandbox Code Playgroud)
并在模板文件中:
<% include header %>
Run Code Online (Sandbox Code Playgroud)
header是使用render传入的值.
这似乎不可能,但也许我错过了一些我想在这里问的东西.
编辑:
这在以下答案的评论中提到,但总结一下,现在可以在EJS的第2版中找到.
请参阅:https://github.com/mde/ejs#includes 以及相关讨论:https://github.com/tj/ejs/issues/93
Ric*_*ick 21
这是一些可以完成动态包含的演示代码.
视图
<div flex class="main-container">
<%- include(page) %>
</div>
Run Code Online (Sandbox Code Playgroud)
路由器
router.get('/', function (req, res, next) {
res.render('pages/index', {
page: 'home'
});
});
Run Code Online (Sandbox Code Playgroud)
添加了此功能:如果它不是路径(找不到文件),则将其评估为变量名称.https://github.com/visionmedia/ejs/pull/156
| 归档时间: |
|
| 查看次数: |
15657 次 |
| 最近记录: |