我正在寻找一个模板引擎使用客户端。我一直在尝试一些像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),但结果发现它也有同样的问题。
对使用其他模板引擎有什么建议吗?
当前回答
您可能需要考虑一下如何设计模板。
列出的许多模板解决方案(jquote、jquery-tmpl、jTemplates)的一个问题是,它们要求您在HTML中插入非HTML,在HTML工具中或在HTML设计人员的开发过程中使用这一点可能很痛苦。我个人不喜欢这种方法的感觉,尽管它有优点和缺点。
还有另一类模板方法,它们使用普通HTML,但允许您用元素属性、CSS类或外部映射来指示数据绑定。
Knockout是这种方法的一个很好的例子,但我自己没有使用过,所以我把它留给投票来决定其他人是否喜欢它。至少在我有时间玩它之前。
作为另一个答案列出的PURE是这种方法的另一个例子。
作为参考,你也可以看看chain.js,但它似乎自最初发布以来没有更新太多。有关它的更多背景信息,请参阅http://javascriptly.com/2008/08/a-better-javascript-template-engine/。
其他回答
John Resig在他的博客上发布了一个。http://ejohn.org/blog/javascript-micro-templating/
如果你在。net Framework 2.0/3.5中工作,你应该看看由http://JsonFx.net实现的JBST。它有一个客户端模板解决方案,该解决方案具有熟悉的JSP/ASP语法,但在构建时预编译了紧凑的可缓存模板,不需要在运行时解析。它可以很好地与jQuery和其他JavaScript库一起工作,因为模板本身被编译为纯JavaScript。
Dropbox在网站上使用John Resig的模板引擎。他们做了一些修改,你可以在dropbox的js文件中查看。在这个文件中搜索tmpl,您将编写模板引擎的代码。
谢谢。希望对别人有用。
不确定它如何处理您的特定问题,但还有PURE模板引擎。
这不是特定于jsquery的,但这里有一个由谷歌发布的开源的基于js的模板库:
http://code.google.com/p/google-jstemplate/
这允许使用DOM元素作为模板,并且是可重入的(即模板呈现的输出仍然是一个模板,可以使用不同的数据模型重新呈现)。