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

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

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


当前回答

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> 测试页面…

其他回答

只能做个傻瓜^^

// LighTest TPL
$.tpl = function(tpl, val) {
    for (var p in val)
        tpl = tpl.replace(new RegExp('({'+p+'})', 'g'), val[p] || '');
    return tpl;
};
// Routine...
var dataObj = [{id:1, title:'toto'}, {id:2, title:'tutu'}],
    tplHtml = '<div>N°{id} - {title}</div>',
    newHtml    = '';
$.each(dataObj, function(i, val) {
     newHtml += $.tpl(tplHtml, val);
});
var $newHtml = $(newHtml).appendTo('body');

http://jsfiddle.net/molokoloco/w8xSx/。)

这取决于你如何定义“最好”,请参阅我关于这个主题的帖子

如果你寻找最快的,这里有一个很好的基准,似乎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扩展

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/

John Resig在他的博客上发布了一个。http://ejohn.org/blog/javascript-micro-templating/

Dropbox在网站上使用John Resig的模板引擎。他们做了一些修改,你可以在dropbox的js文件中查看。在这个文件中搜索tmpl,您将编写模板引擎的代码。

谢谢。希望对别人有用。