1

我有两个调用的“主模板”ios.jadeandroid.jade多个“子模板”,它们应该扩展ios.jadeandroid.jade基于变量的值。不幸的是,我还没有找到方法来做到这一点。

我想到了以下类似的东西,但它不起作用:

if (locals.os === "android")
  extends android
else
  extends ios

有什么建议么?

4

1 回答 1

0

我刚刚找到了一种动态决定在“主模板”中包含哪个“子模板”的方法。假设我的“主模板”看起来像这样(另存为main.jade):

html
  head
    meta(charset='utf8')
    base(href='/')
    title My super cool website
body
  if(locals.os === "android")
    include android
  else
    include ios

我的其他文件是android.jade

p android

...和ios.jade

p ios

现在只需在您的 Node.js-Express 服务器上渲染“主模板”并看到奇迹发生(请记住,下面的代码不完整,您需要先设置服务器):

app.get('/', function(req, res) {
  res.render('main', {locals:{os: 'android'}});
});
于 2013-05-01T11:20:44.460 回答