Javascript jquerytmpl使用连接方法提高速度
我看到有人提到使用JQuery tmpl以更快的方式创建字符串而不是DOM元素: 但我似乎无法让它工作。我正在使用jQuery1.6.4和来自GitHub的最新tmpl文件。我的代码如下-有人能指出明显的错误吗?非常感谢 JsonData是来自web服务的响应,是正确格式的JSON——我可以使用广为宣传的tmpl批准和JQote2将其绑定 jQueryTemplate看起来像:Javascript jquerytmpl使用连接方法提高速度,javascript,jquery,jquery-templates,Javascript,Jquery,Jquery Templates,我看到有人提到使用JQuery tmpl以更快的方式创建字符串而不是DOM元素: 但我似乎无法让它工作。我正在使用jQuery1.6.4和来自GitHub的最新tmpl文件。我的代码如下-有人能指出明显的错误吗?非常感谢 JsonData是来自web服务的响应,是正确格式的JSON——我可以使用广为宣传的tmpl批准和JQote2将其绑定 jQueryTemplate看起来像: <script id="jQueryTemplate" type="text/x-jquery-tmpl">
<script id="jQueryTemplate" type="text/x-jquery-tmpl">
<li><span>${Name}</span><span>${ProductName}</span></li>
</script>
由于$('jQueryTemplate').template(),我似乎没有定义;这个错误是:
Uncaught TypeError: Object
<li><span>${Name}</span><span>${ProductName}</span></li>
has no method 'join'
未捕获类型错误:对象
${Name}${ProductName}
没有方法“join”
感谢您的帮助。这样定义您的模板
$.template( "jQueryTemplate", "<li><span>${Name}</span><span>${ProductName}</span></li>" );
或
像这样定义你的模板
$.tmpl( "jQueryTemplate", JsonData ).appendTo( "#container" );
<script id="jQueryTemplate" type="text/x-jquery-tmpl">
<li><span>${Name}</span><span>${ProductName}</span></li>
</script>
$( "#jQueryTemplate" ).tmpl(JsonData).appendTo("#container" );
经过大量挖掘,我终于找到了一个由鲍里斯·摩尔(Boris Moore)解释的这种方法的例子。谢谢鲍里斯的出色工作。 我创建了一个jsperf来比较这两种方法——这是我的第一个jsperf,所以希望它设置正确以获得有意义的结果。这显示出巨大的差异。我想这取决于使用情况,但我的是非常基本的标记生成,所以字符串输出与.html()结合就可以了。
如果您发现自己需要提高tmpl性能,并且没有机会切换到其他模板引擎,希望这对您有所帮助。您好,谢谢您的回复。我认为您提到的方法是jQueryTMPL的正常、广为宣传的用法,但根据基准测试和我在帖子中链接的文章,它比我尝试使用的方法慢了6倍多。这就是我试图复制但未能复制的代码(摘自本文第3段):template_对象($,payload);
$( "#jQueryTemplate" ).tmpl(JsonData).appendTo("#container" );