我正在寻找一个模板引擎使用客户端。我一直在尝试一些像jsRepeater和jQuery模板。虽然它们在FireFox中运行正常,但在IE7中呈现HTML表格时似乎都崩溃了。

我还查看了MicrosoftAjaxTemplates.js(来自http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=16766),但结果发现它也有同样的问题。

对使用其他模板引擎有什么建议吗?


当前回答

jQuery-tmpl将在jQuery 1.5开始在jQuery核心:

http://blog.jquery.com/2010/10/04/new-official-jquery-plugins-provide-templating-data-linking-and-globalization/

官方文件如下:

http://api.jquery.com/category/plugins/templates/


编辑:它已经从jQuery 1.5中删除了,现在将由jQuery UI团队协调,因为它将成为即将到来的jQuery UI Grid的依赖项。

http://blog.jquery.it/2011/04/16/official-plugins-a-change-in-the-roadmap/

其他回答

这不是特定于jsquery的,但这里有一个由谷歌发布的开源的基于js的模板库:

http://code.google.com/p/google-jstemplate/

这允许使用DOM元素作为模板,并且是可重入的(即模板呈现的输出仍然是一个模板,可以使用不同的数据模型重新呈现)。

不确定它如何处理您的特定问题,但还有PURE模板引擎。

如果你在。net Framework 2.0/3.5中工作,你应该看看由http://JsonFx.net实现的JBST。它有一个客户端模板解决方案,该解决方案具有熟悉的JSP/ASP语法,但在构建时预编译了紧凑的可缓存模板,不需要在运行时解析。它可以很好地与jQuery和其他JavaScript库一起工作,因为模板本身被编译为纯JavaScript。

对于非常简单的工作,jquery-tmpl就足够了,但在某些情况下,它要求数据知道如何格式化自己(不好的事情!)

如果你正在寻找一个功能更全面的模板插件,我建议Orange-J。它的灵感来自Freemarker。它支持if, else,遍历对象和数组,内联javascript,包括模板中的模板,并具有出色的输出格式选项(maxlen, wordboundary, htmlentities等)。

哦,还有简单的语法。

jQote: http://aefxx.com/jquery-plugins/jqote/

有人将Resig的微模板解决方案打包成jQuery插件。

我将一直使用它,直到Resig发布他自己的(如果他发布自己的)。

谢谢你的建议,ewbi。