【发布时间】:2012-05-14 08:08:47
【问题描述】:
我能想到的最明显的例子是输出嵌套的 cmets。假设您有一棵 cmets 树,并且您想使用您的模板将其输出为嵌套的 html(比如说列表中的列表或 div 中的 div)。
“评论”块/函数/标签/助手/任何东西必须能够以某种方式为评论的孩子调用自己。
是否有模板引擎可以在一个模板文件中支持这种事情?
我知道您可以预先计算每条评论的“缩进”或“深度级别”,并将它们作为一个平面列表以正确的顺序发送到模板,但我们只是说我不想要那。假设我不想在代码中/模板之外将 sn-ps 拼接在一起 - 我希望整个页面都包含在一个模板或主题文件中。
更新:我想生成嵌套的 html。我希望 cmets 嵌套,而不是 appear 嵌套。我知道如何使用 CSS 缩进。 :) 无论是在浏览器还是在服务器上完成都无关紧要,因为我希望模板在一个文件中自包含。
如:
var html = render(template, {comments: aTreeOfNestedComments});
(看到了吗?这可能是 node.js,一个浏览器插件,一些“jQuery”,因为有些人现在喜欢称之为 javascript...)看起来玉可以使用 mixins 来做到这一点。有没有可以做类似事情的基于标签的模板引擎?
【问题讨论】:
-
为什么是Javascript?不能让服务器创建输出吗?
-
“Javascript 模板引擎”是什么意思?
-
@penartur:“用 javascript 实现的模板引擎”。只需将其设为任何能够输出 html 的模板引擎即可。
-
@TJHeuvel:嗯,会在服务器上的 node.js 和浏览器中使用它,这样你就可以看到实时预览。我猜javascript没有太大关系。具有不同实现的模板语言(其中之一是 javascript)也可以工作。
-
例如,jade 允许定义辅助方法。
标签: javascript templates recursion