优化脚本模板

时间:2013-01-10 15:02:42

标签: javascript jquery templates jquery-mobile mustache

我正在使用脚本模板在javascript中创建可恢复的html标记。模板使用小胡子用正确的值替换标签。然后由JQUery Mobile再次呈现和呈现html。一个片段看起来像这样:

<!doctype html>
            <html>
                <head>
                    <meta charset="UTF-8" />
                    <title>jQuery Mobile</title>
                    <meta name="viewport" content="width=device-width, initial-scale=1"> 
                    <meta charset="utf-8" http-equiv="X-UA-Compatible" content="IE=9" />



                </head>
                <body>
                    <!-- Page Templates -->

<script id="page_header_tpl" type="text/template">
<div data-role="header" class="toolbar {{#class}}{{{class}}}{{/class}}" {{#id}}id="{{{id}}}" {{/id}}>
<h1>{{{title}}}</h1>
<div data-role="ui-bar" class="ui-bar" id="ui-top">
{{#buttons}}
        {{{.}}}
{{/buttons}}
</div><!-- /navbar -->

{{#navbar}}
    {{{navbar}}}
{{/navbar}}
</div>
</script>
<script type="text/javascript">
//Function for creating the header
function createPageHeader(data) {
      html = $('#page_header_tpl').html();
    return Mustache.render(html, data);
}
 //Calling the function
 var header = createPageHeader({ class : 'aheader', id : 'my id',  title : 'Page 1'});
<script>
</body>
</html>

我的问题是我可以使用哪种技术来优化模板元素的调用和放置到html文件中?快速检索元素? Mustache解析速度更快?记忆技巧?等

1 个答案:

答案 0 :(得分:0)

您最好的选择可能是在客户端使用Handlebars。它与Mustache完全兼容,并为compile your templates ahead of time提供了更好的性能。

它还添加了许多额外的帮助程序,但如果您希望保持模板与Mustache兼容(例如,在服务器端使用),则不必使用这些帮助程序。

不仅如此,provides a stripped version (Handlebars runtime) of the library也可用于编译模板。

可以在此处找到包含更多有用链接的比较文章 - http://nimbupani.com/mustache.html