【发布时间】:2012-05-25 17:57:32
【问题描述】:
请您向我推荐一个实现下述特殊概念的 HTML 模板引擎(任何脚本语言)。
所有标记都处于活动状态。调用模板之前不应该准备数据,而是模板本身从模型中获取数据。例如
{CurrentUser.name} 将替换为当前登录用户的名称,因此我不需要在调用模板之前准备数据。
但我也可以指定一些“自定义”数据方法。例如,如果我必须制作相册,并且只需要显示一大块照片,我可以使用 {PhotosListPart.thumb.url} 并定义用于检索 PhotosListPart 的特殊方法,允许模板自动调用它并异步获取数据。
你知道任何支持这种模板方法的模板引擎/框架吗?
【问题讨论】:
-
这听起来像是 JSP 自定义标签或原始 ASP,都是旧的,但两者都可以这样工作。现在我想到了,如果我传入一个上下文对象,我可以这样使用 Jade。数据是提前准备好还是在请求时获取取决于该对象的设计。
-
什么模板引擎不能这样用?
-
@joshp 可以是任何引擎,但不是本机引擎。例如,Smarty 绝对需要将准备好的数据传递给模板引擎。我想拥有可以处理几乎任何系统对象的任何属性的活动模板。
-
@joshp 你能举一个 Jade 在这个概念中使用的例子吗?
-
描述你想如何使用它。我无法想象你要如何编写没有视图的网络应用程序。
标签: php python templates node.js frameworks