Express Jade:如何基于变量值扩展基本模板
我有两个名为ios.jade和android.jade的主模板,以及多个子模板,它们应该根据变量的值扩展ios.jade或android.jade。不幸的是,我还没有找到一个方法来做到这一点 我想到了下面这样的事情,但它不起作用:Express Jade:如何基于变量值扩展基本模板,express,pug,multiple-inheritance,template-engine,extends,Express,Pug,Multiple Inheritance,Template Engine,Extends,我有两个名为ios.jade和android.jade的主模板,以及多个子模板,它们应该根据变量的值扩展ios.jade或android.jade。不幸的是,我还没有找到一个方法来做到这一点 我想到了下面这样的事情,但它不起作用: if (locals.os === "android") extends android else extends ios 有什么建议吗?我刚刚找到了一种方法,可以动态地决定在主模板中包含哪个子模板。让我们假设我的主模板保存为main.jade: 我的其他文
if (locals.os === "android")
extends android
else
extends ios
有什么建议吗?我刚刚找到了一种方法,可以动态地决定在主模板中包含哪个子模板。让我们假设我的主模板保存为main.jade: 我的其他文件是android.jade: …和ios.jade: 现在,只需在Node.js-Express服务器上呈现主模板,并看到神奇的效果。请记住,下面的代码并不完整,您需要先设置服务器:
app.get('/', function(req, res) {
res.render('main', {locals:{os: 'android'}});
});
这允许给定布局基于变量呈现不同的子对象。模板继承已经可以做到这一点,而且更简单。
p android
p ios
app.get('/', function(req, res) {
res.render('main', {locals:{os: 'android'}});
});