我正在寻找一个模板引擎使用客户端。我一直在尝试一些像jsRepeater和jQuery模板。虽然它们在FireFox中运行正常,但在IE7中呈现HTML表格时似乎都崩溃了。
我还查看了MicrosoftAjaxTemplates.js(来自http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=16766),但结果发现它也有同样的问题。
对使用其他模板引擎有什么建议吗?
我正在寻找一个模板引擎使用客户端。我一直在尝试一些像jsRepeater和jQuery模板。虽然它们在FireFox中运行正常,但在IE7中呈现HTML表格时似乎都崩溃了。
我还查看了MicrosoftAjaxTemplates.js(来自http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=16766),但结果发现它也有同样的问题。
对使用其他模板引擎有什么建议吗?
当前回答
这取决于你如何定义“最好”,请参阅我关于这个主题的帖子
如果你寻找最快的,这里有一个很好的基准,似乎DoT赢了,把其他所有人都甩在后面
如果你正在寻找最官方的JQuery插件,下面是我找到的
第一部分:JQuery模板
beta版,暂时正式的JQuery模板插件是这样的 http://api.jquery.com/category/plugins/templates/
但显然,不久之前,它决定保持在Beta…
注意:jQuery团队已经决定不再使用此插件的beta版。 它不再被积极地开发或维护。的文档 暂时留在这里(作参考),直到合适的时机到来 替换模板插件准备就绪。
第二部分:下一步
新的路线图似乎是针对一组新的插件,JSRender(独立于DOM甚至JQuery模板渲染引擎)和JSViews,它们有一些不错的数据绑定和观察者/可观察模式实现
这里是关于这个主题的博客文章
http://www.borismoore.com/2011/10/jquery-templates-and-jsviews-roadmap.html
这是最新的消息来源
JSViews https://github.com/BorisMoore/jsviews JSRender https://github.com/BorisMoore/jsrender
其他资源
关于这个主题的一个很好的演示http://www.slideshare.net/BorisMoore/jsviews-next-generation-jquery-templates 工作演示:http://borismoore.github.com/jsviews/demos/index.html
请注意,它甚至还没有beta版,只是一个路线图项目,但似乎是一个很好的候选人,成为模板和UI绑定的正式JQuery/JQueryUI扩展
其他回答
您可能需要考虑一下如何设计模板。
列出的许多模板解决方案(jquote、jquery-tmpl、jTemplates)的一个问题是,它们要求您在HTML中插入非HTML,在HTML工具中或在HTML设计人员的开发过程中使用这一点可能很痛苦。我个人不喜欢这种方法的感觉,尽管它有优点和缺点。
还有另一类模板方法,它们使用普通HTML,但允许您用元素属性、CSS类或外部映射来指示数据绑定。
Knockout是这种方法的一个很好的例子,但我自己没有使用过,所以我把它留给投票来决定其他人是否喜欢它。至少在我有时间玩它之前。
作为另一个答案列出的PURE是这种方法的另一个例子。
作为参考,你也可以看看chain.js,但它似乎自最初发布以来没有更新太多。有关它的更多背景信息,请参阅http://javascriptly.com/2008/08/a-better-javascript-template-engine/。
jQuery Nano:
模板引擎 基本用法 假设你有以下JSON响应: 数据= { 用户:{ 登录:“tomek”, first_name:“托马斯”, last_name:“Mazur”, 账户:{ 状态:“活跃”, expires_at:“2009-12-31” } } } 你可以做: 纳米(“< p >你好{用户。first_name} {user.last_name} !您的帐户是<strong>{user.account。地位}< /强> < / p > ",数据) 你准备好字符串: 你好Thomas Mazur!您的帐户是<strong>active</strong></p> 测试页面…
刚刚做了一些研究,我将使用jquery-tmpl。为什么?
作者是约翰·瑞西格。 它将由jQuery核心团队作为“官方”插件进行维护。 编辑:jQuery团队已经弃用了这个插件。 它在简单性和功能性之间取得了完美的平衡。 它有一个非常干净和经过深思熟虑的语法。 它默认使用html编码。 它是高度可扩展的。
更多信息请点击:http://forum.jquery.com/topic/templating-syntax
这取决于你如何定义“最好”,请参阅我关于这个主题的帖子
如果你寻找最快的,这里有一个很好的基准,似乎DoT赢了,把其他所有人都甩在后面
如果你正在寻找最官方的JQuery插件,下面是我找到的
第一部分:JQuery模板
beta版,暂时正式的JQuery模板插件是这样的 http://api.jquery.com/category/plugins/templates/
但显然,不久之前,它决定保持在Beta…
注意:jQuery团队已经决定不再使用此插件的beta版。 它不再被积极地开发或维护。的文档 暂时留在这里(作参考),直到合适的时机到来 替换模板插件准备就绪。
第二部分:下一步
新的路线图似乎是针对一组新的插件,JSRender(独立于DOM甚至JQuery模板渲染引擎)和JSViews,它们有一些不错的数据绑定和观察者/可观察模式实现
这里是关于这个主题的博客文章
http://www.borismoore.com/2011/10/jquery-templates-and-jsviews-roadmap.html
这是最新的消息来源
JSViews https://github.com/BorisMoore/jsviews JSRender https://github.com/BorisMoore/jsrender
其他资源
关于这个主题的一个很好的演示http://www.slideshare.net/BorisMoore/jsviews-next-generation-jquery-templates 工作演示:http://borismoore.github.com/jsviews/demos/index.html
请注意,它甚至还没有beta版,只是一个路线图项目,但似乎是一个很好的候选人,成为模板和UI绑定的正式JQuery/JQueryUI扩展
我目前正在使用一个多HTML模板框架。这个框架使得在DOM中导入模板化数据变得更加容易。还有很棒的MVC建模。
http://www.enfusion-framework.org/(看看样本!)