我使用Express 3x + Jade + bootstrap + .. etc
我的块/扩展结构看起来像这样
.layout.jade(只有头脑)
.topNav.jade(仅限顶级导航)
.sideNav.jade(sideNav和控制中心界面)
.slidePrem.jade(实际内容)
现在我尝试重新渲染slidePrem
- >这会渲染sidenav,topnav,layout(所以“extends”语句从slideprem中读出)
但它不会显示slidePrem的任何内容
经过多个小时的重新编码,搜索,重新发送等等 。我将结构重写为slideprem - > sidenav - >布局
- >这会渲染slideprem,sidenav,layout
- >>>那嵌套块实际上有限制吗?
- >是可编辑的吗?
- >或者你想象一下其他地方的错误?
对待Pika
编辑:
//slidePrem.jade//
extends ../sideNav
block wall
#bla (or alert or sth)
//sideNav.jade//
extends topNav
block content
#subHeader
#subHeadNav
#Content //doesnt conflict with "block content"
div.container
div.row
div.span9
block wall
div.span3
// further code
//topNav.jade//
extends layout
block navigation
div.topnav.....
div...
...
block content
#modal
//layout.jade//
doctype 5
html
head
title= title
<meta name="viewport" content="width=device-width, initial-scale=1.0">
link(rel='stylesheet', href='http://fonts.googleapis.com/css?family=Titillium+Web&subset=latin,latin-ext', type='text/css')
link(rel='stylesheet', href='/bootstrap/css/bootstrap.min.css')
link(rel='stylesheet', href='/bootstrap/css/bootstrap-responsive.min.css', media="screen")
link(rel='stylesheet', href='/stylesheets/style.css')
link(rel='stylesheet', href='/stylesheets/cCenter.css')
script(src='/javascripts/jq.js')
script(src='/bootstrap/js/bootstrap.min.js')
script(src='/javascripts/core.js')
script(src='/javascripts/ajax.js')
body
block navigation
答案 0 :(得分:2)
您应该尝试使用包含而不是扩展。
所以你可以试试你的layout.jade:
html
head
(...)
body
block navigation
在你的navigation.jade块中
extends layout
block navigation
.topnav (div aren't required in jade)
(...)
include content
您的content.jade只需要
#subHeader
#subHeadNav
#Content //doesnt conflict with "block content"
div.container
div.row
div.span9
include wall
div.span3
如果不够清楚,您可以在项目的GitHub页面上找到所有include documentation。
我希望它会有所帮助。