[英]How can I pass dynamic content to the layout file(partials) in express handlebars?
在我的NodeJS-express应用中,我正在使用车把引擎进行模板化。 可以使用动态数据进行路由。 我的应用程序只有一个布局文件。 如何动态将数据传递到模板文件?
编辑:
这是我的模板文件。
<!DOCTYPE html> <html> <head> </head> <body> <nav> <div> <ul class="navbar-nav"> <li class="nav-item active"> <a>Home</a> </li> <li class="nav-item"> <a>about</a> </li> <li class="nav-item"> <a>contact</a> </li> </ul> </div> </nav> {{{body}}} </body> </html>
我需要导航项(家庭,关于,联系方式)全部来自API调用。 没有硬编码。
我认为您需要在车把上这样做:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<nav>
{{{navStuff}}}
</nav>
{{{body}}}
</body>
</html>
在您的Express路线中,您可以执行以下操作:(我假设它是简单的路线。您可以适应ReactRouter V4)
app.get('/home', function(req, res, next){
return res.render('app',{
body: toRender,
navStuff: menu
})
});
同样,如果您必须进行数据库调用以获取基于页面的菜单项,则可以采用以下方法:
app.get('/home', function(req, res, next){
getMenuFromDb(pathName).then(function(menu){
return res.render('app',{
body: toRender,
navStuff: menu
})
});
})
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.