我正在寻找一个可靠的jQuery模板引擎。
我一直在使用jquery.tmpl.js进行开发,尽管我知道它被放弃了。我已经能够实现我想要的功能,但对其跨浏览器的可靠性有一点怀疑。
首先,IE7似乎被标记为一个问题领域,我现在不想再进一步,直到我更有信心它最终可以纳入生产解决方案。
关于这个StackOverflow question关于模板的讨论很健康,但遗憾的是现在已经过时了。
jquery.tmpl.js的github存储库说它已被移动到jQueryUI,但是jQueryUI网站没有提到模板。
那么有没有人对jQuery中的模板有任何良好的经验和/或能指出我可靠的解决方案?
答案 0 :(得分:11)
JsRender是jQuery模板的替代品。 jQuery模板不再处于开发阶段...... jQuery和Boris Moore(他们背后的驱动力)都转向了JsRender。
但是,您可以使用jQuery模板,因为截至今天,它们比JsRender更稳定。 JsRender和JsViews很快就会到来,他们将共同完成jQuery模板现在所做的工作。 JsRender已经优于jQuery模板,特别是在性能方面(基于字符串的渲染引擎)。
你可以在这里找到Boris Moore的几个例子:http://borismoore.github.com/jsrender/demos/step-by-step/index.html
答案 1 :(得分:2)
答案 2 :(得分:2)
Linkedin使用Dust。他们写了一篇不错的文章,解释了它如何帮助他们从不同的后端实现方法(JSP,Grails,Rails等)创建一个通用的UI。这可能值得研究。
答案 3 :(得分:0)
我使用自己的解决方案:https://github.com/lingtalfi/cloneTemplate 它基于jquery。 它只是一个帮手,而不是一个功能齐全的模板解决方案。 (完整代码大约30行)
语法非常简单:
var variables = {"marie": "mary"}; // this dumb/demo map will simply replace marie by mary
var jClone = $.fn.cloneTemplate(jTpl, variables);
它完成将变量注入模板的工作。 模板中的占位符如下所示:
{-myTag-}
和
{-%myTag-}
表示htmlspecialchars版本。
那就是它!