我有两个调用的“主模板”ios.jade
和android.jade
多个“子模板”,它们应该扩展ios.jade
或android.jade
基于变量的值。不幸的是,我还没有找到方法来做到这一点。
我想到了以下类似的东西,但它不起作用:
if (locals.os === "android")
extends android
else
extends ios
有什么建议么?
我有两个调用的“主模板”ios.jade
和android.jade
多个“子模板”,它们应该扩展ios.jade
或android.jade
基于变量的值。不幸的是,我还没有找到方法来做到这一点。
我想到了以下类似的东西,但它不起作用:
if (locals.os === "android")
extends android
else
extends ios
有什么建议么?
我刚刚找到了一种动态决定在“主模板”中包含哪个“子模板”的方法。假设我的“主模板”看起来像这样(另存为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'}});
});