2016-05-23 66 views

回答

2

玉不支持conditional layout switch

if type=='get' 
    extends layout 
block content 
    p This is block content 

这将使用布局呈现页面,而不考虑变量名称。

方法1

一个简单的方法是定义在一个单独的文件块的内容,包括它在你的page1.jade,您可以访问该块独立即可。

layout.jade

html 
head 
title My Site - #{title} 
block scripts 
body 
    block content 
    block foot 

page1.jade

extends layout 

block content 
    include ./includes/block.jade 

包括/ block.jade

p This is the block content 

这WOU LD是处理您的请求路由文件

router.get('/', function(req, res, next) { 
    res.render('index', { title: 'Express' }); 
}); 
router.get('/block', function(req, res, next) { 
    res.render('includes/block', { title: 'Express' }); 
}); 

修改它来处理Ajax /浏览器请求的方式。

方法2

其他清洁方式将修改您layout.jade本身条件

layout.jade

if type=='get' 
    html 
    head 
    title My Site - #{title} 
    block scripts 
body 
    block content 
    block foot 

和传球变量从您的路由器,而每一次呈现在同一页面:

router.get('/', function(req, res, next) { 
    res.render('index', { title: 'Express',type:'get' }); 
}); 
router.get('/block', function(req, res, next) { 
    res.render('index', { title: 'Block Express' }); 
});