gpt4 book ai didi

node.js - Jade 模板传承

转载 作者:太空宇宙 更新时间:2023-11-03 22:56:23 25 4
gpt4 key购买 nike

Jade 中的 Jade 模板继承让我发疯......

问题是我想将大量代码排除到外部模板中,然后将其包含在内。当我这样做时,一切都会变得很糟糕:/

示例代码:

!!!5
html(lang="en")
head
title sample title
body
header
div#someDiv
div#someContent
section#main

假设我想排除从顶部到 div#someContent 的所有内容。那我就会了

include inc/header
section#main

这样代码缩进就会出错,一切都变得一团糟:/你能给我指出包含模板的正确方向吗?

提前致谢!

最佳答案

这不是模板继承,而是包含(模板继承是带有 block 和 extends 关键字)。我确实尝试了您的代码,它对 include 的作用是将“section#main”插入“div#someDiv”而不是“div#someContent”。不确定这是否应该被视为错误或什么(解析器如何知道添加的内容是否应该位于包含文件的最后一项内,或者处于同一级别?)。它似乎并不关心“include”语句下的缩进级别。

但是,如果您确实使用模板继承,则可以在包含末尾放置一个空 block :

!!!5
html(lang="en")
head
title sample title
body
header
div#someDiv
div#someContent
block content

然后您可以将该 block 附加到您的实际内容文件中:

include inc/header
block append content
section#main

这在 DOM 中渲染正常(section#main 位于 div#someContent 内)。根据 View 的结构,您可能会更好地使用“扩展”而不是“包含+ block 附加”。您可以查看Jade's GitHub doc了解详情。

关于node.js - Jade 模板传承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9034244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com