对当前jQuery模板解决方案的建议?

时间:2011-11-01 21:34:28

标签: jquery jquery-ui templates jquery-templates jsrender

我正在寻找一个可靠的jQuery模板引擎。

我一直在使用jquery.tmpl.js进行开发,尽管我知道它被放弃了。我已经能够实现我想要的功能,但对其跨浏览器的可靠性有一点怀疑。

首先,IE7似乎被标记为一个问题领域,我现在不想再进一步,直到我更有信心它最终可以纳入生产解决方案。

关于这个StackOverflow question关于模板的讨论很健康,但遗憾的是现在已经过时了。

jquery.tmpl.js的github存储库说它已被移动到jQueryUI,但是jQueryUI网站没有提到模板。

那么有没有人对jQuery中的模板有任何良好的经验和/或能指出我可靠的解决方案?

4 个答案:

答案 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版本。

那就是它!