我能想到的最明显的例子是输出嵌套评论。假设您有一个评论树,并且您想使用您的模板将其输出为嵌套的 html(比如说列表中的列表或 div 中的 div)。
“评论”块/函数/标签/助手/任何东西都必须能够以某种方式为评论的孩子调用自己。
是否有模板引擎可以在一个模板文件中支持这种事情?
我知道您可以预先计算每条评论的“缩进”或“深度级别”,并以正确的顺序将它们作为一个平面列表发送到模板,但我们只是说我不想要那个。假设我不想在代码中/模板之外将片段拼接在一起——我希望整个页面都包含在一个模板或主题文件中。
更新:我想生成嵌套的 html。我希望评论是嵌套的,而不是嵌套的。我知道如何使用 CSS 缩进。:) 无论是在浏览器还是在服务器上完成都无关紧要,因为关键是我希望模板在一个文件中自包含。
如:
var html = render(template, {comments: aTreeOfNestedComments});
(看到了吗?可能是node.js,一个浏览器插件,一些“jQuery”,因为现在有些人喜欢称之为javascript......)看起来jade可以使用mixins来做到这一点。任何可以做类似事情的基于标签的模板引擎?