2016-05-23 60 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' }); 
});