我正在寻找一个模板引擎使用客户端。我一直在尝试一些像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),但结果发现它也有同样的问题。
对使用其他模板引擎有什么建议吗?
当前回答
Dropbox在网站上使用John Resig的模板引擎。他们做了一些修改,你可以在dropbox的js文件中查看。在这个文件中搜索tmpl,您将编写模板引擎的代码。
谢谢。希望对别人有用。
其他回答
不确定它如何处理您的特定问题,但还有PURE模板引擎。
jQote: http://aefxx.com/jquery-plugins/jqote/
有人将Resig的微模板解决方案打包成jQuery插件。
我将一直使用它,直到Resig发布他自己的(如果他发布自己的)。
谢谢你的建议,ewbi。
刚刚做了一些研究,我将使用jquery-tmpl。为什么?
作者是约翰·瑞西格。 它将由jQuery核心团队作为“官方”插件进行维护。 编辑:jQuery团队已经弃用了这个插件。 它在简单性和功能性之间取得了完美的平衡。 它有一个非常干净和经过深思熟虑的语法。 它默认使用html编码。 它是高度可扩展的。
更多信息请点击:http://forum.jquery.com/topic/templating-syntax
只能做个傻瓜^^
// 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/。)
对于非常简单的工作,jquery-tmpl就足够了,但在某些情况下,它要求数据知道如何格式化自己(不好的事情!)
如果你正在寻找一个功能更全面的模板插件,我建议Orange-J。它的灵感来自Freemarker。它支持if, else,遍历对象和数组,内联javascript,包括模板中的模板,并具有出色的输出格式选项(maxlen, wordboundary, htmlentities等)。
哦,还有简单的语法。