繁体   English   中英

如何将动态内容传递到快速车把中的布局文件(部分)?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM