Handlebars.js: コンパイル済みのハンドルバーはまだ遅い

作成日 2016年04月24日  ·  4コメント  ·  ソース: handlebars-lang/handlebars.js

ハンドルバー付きのphonegapを使用していますが、テンプレートをプリコンパイルしてもまだ遅いです。
たぶん、テンプレート内にスクリプトを置くことがこれを引き起こしています。

<table class="table table-striped table-hover">
    <thead>
        <tr>
            <th>IMG</th>
        </tr>
    </thead>
    <tbody>
        {{#each array}}
        <tr>
            <td> 
                <a  href= "{{this}}" class="swipebox" title="My Caption">
                <img src= "{{this}}" alt="image"  width="50" height="50">
                </a>
            </td>
        </tr>
        {{/each}}
    </tbody>
</table>
<script>    
    var table = $('table').dataTable({
        lengthMenu: [[-1, 50, 25, 10], ["Todo", 50, 25, 10]],
        sPaginationType: "full_numbers",
        language: {
        "url": "json/Spanish.json"
        }
    });

</scr{{undefined}}ipt>

全てのコメント4件

あなたのHTMLはひどいです。 速度低下の理由は、ビューモデルなしでは対処できません。

これがコンテキストです

  <script type="text/javascript">
        var array = [];

        for (i = 0; i < 3; i++) {
          var src = "img/arrow_ + i + .png";

          array.push(src);

        }
        var context = {"array":array}
        var theCompiledHtml =   Handlebars.templates['events.tmpl'](context);
        $('.render').html(theCompiledHtml);   

    </script>

var theCompiledHtml = Handlebars.templates['events.tmpl'](context);

スクリプトタグの関数が何のためにあるのかわかりません。 画像の配列を反復処理するためのもののようですが、プリコンパイルされたテンプレートを呼び出すために貼り付けたコードはそこに属していません。

理想的には、テンプレート呼び出しを含む単一のアプリファイルがあり、レンダリングされたHTMLを出力する場所をページに指示します。

今のところ、私が見ているものは、レンダリングする前に、プリコンパイルされたテンプレートがブラウザによって完全に評価される結果になると思います。 これにより、プリコンパイルは無意味になります。

非アクティブのために閉じます。

このページは役に立ちましたか?
0 / 5 - 0 評価