玉模板继承
问题描述:
在玉玉
模板继承快把我逼疯了......玉模板继承
的问题是,我想排除的代码模板外部大一点,然后包括它。当我这样做,一切都得到他妈的起来:/
示例代码:
!!!5
html(lang="en")
head
title sample title
body
header
div#someDiv
div#someContent
section#main
比方说,我要排除一切从顶部div#someContent
。然后我会有
include inc/header
section#main
这种方式代码缩进出错了,一切都搞乱了:/你能指出我包括模板的正确方向吗?
在此先感谢!
答
这不是模板继承,但包括(模板继承与块和扩展关键字)。我确实尝试了你的代码,它对include的作用是将“section#main”插入到“div#someDiv”而不是“div#someContent”中。不知道这是否应该被认为是一个错误或什么(解析器如何知道添加的内容应该包含在包含文件的最后一项中,还是在同一级别?)。它似乎并不关心“包含”声明中的缩进程度。
但是,如果你使用模板继承,你可以把一个空块在你的结尾包括:
!!!5
html(lang="en")
head
title sample title
body
header
div#someDiv
div#someContent
block content
然后你就可以追加块的实际内容的文件:
include inc/header
block append content
section#main
而这在DOM中显示OK(section#main is inside div#someContent)。根据视图的结构,使用“扩展”代替“include + block append”可能会更好。你可以检查Jade's GitHub doc的细节。
GitHub文档的链接已死亡。 – sjy 2013-07-28 05:14:51
现在看起来不错。也许github在你尝试时失败了。 – mna 2013-07-29 15:44:14