获取pugjs模板内的模板名称

时间:2018-06-13 20:03:29

标签: node.js express pugjs

我正在用pugJS渲染我的页面:

res.render('test',renderVars)

这个渲染使用了一个布局,我需要在其中获取'test'字符串。我的问题是:如何获得'test'字符串以便我可以在我的布局中使用它?我可以在'renderVars'中添加一个新变量,但我确信有更好的解决方案。

换句话说:如何在此模板中获取模板的名称?例如#{templatename}之类的东西?

提前致谢!

1 个答案:

答案 0 :(得分:0)

我担心你不能这样做。 res.render第一个参数渲染视图模板并不意味着存储数据。您可以设置'测试'在renderVars中,您可以在会话中添加它,并且可以在您的布局中使用它。

在路线和会话设置之前将此代码添加到app.js

//inject session into res.locals so can be rendered in UI
app.use(function (req, res, next) {
  if (req.session.message) {
    res.locals.message = req.session.message;
    delete req.session.message;
  }
  res.locals.session = req.session;

  next();
});

在视图模板中,您可以使用

访问res.locals.session数据
#{session.theAttributeYouWant)