Jam*_*sOR 8 node.js express pug
我有3个文件:layoutA.jade,layoutB.jade和index.jade.如何以编程方式设置index.jade将扩展的布局?
我尝试过使用:
app.set('view options', { layout: false });
Run Code Online (Sandbox Code Playgroud)
有:
res.render('index', { title: 'Express', layout: 'layoutB' }); // older 2.x way?
Run Code Online (Sandbox Code Playgroud)
我似乎无法覆盖index.jade文件中显式设置的任何内容.省略index.jade文件中的extends行也不起作用.
让我们说玉文件在以下目录中:
+ views
+ shared
- layoutA.jade
- layoutB.jade
+ home
- index.jade
Run Code Online (Sandbox Code Playgroud)
以正确的顺序添加布局设置,并指定根视图文件夹:
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.set('view options', { layout: 'shared/layoutA' });
Run Code Online (Sandbox Code Playgroud)
确保指定正确的文件夹(在本例中为"views").还要确保指定有效的默认布局.在深入了解之前,请检查这是否适用于测试页.
一旦它工作,你可以像这样的默认布局:
if(someImportantVar) {
res.render('home/index', { title: 'Different layout!', layout: 'shared/layoutB' });
} else {
res.render('home/index', { title: 'Default layout!'});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2193 次 |
| 最近记录: |