Handlebars.js: Lenker vorkompiliert ist immer noch langsam

Erstellt am 24. Apr. 2016  ·  4Kommentare  ·  Quelle: handlebars-lang/handlebars.js

Ich verwende Phonegap mit Lenker, aber selbst wenn ich die Vorlagen vorkompiliert habe, sind sie immer noch langsam.
Möglicherweise verursacht das Einfügen eines Skripts in eine Vorlage dies.

<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>

Alle 4 Kommentare

Dein HTML ist grauenhaft. Der Grund für die Verlangsamung kann ohne Ihr Ansichtsmodell nicht behoben werden.

Das ist der Kontext

  <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);

Ich bin mir nicht sicher, wofür Ihre Funktion in den Skript-Tags gedacht ist. scheint zum Durchlaufen eines Arrays von Bildern zu dienen, aber der Code, den ich zum Aufrufen Ihrer vorkompilierten Vorlage eingefügt habe, gehört nicht dorthin.

Im Idealfall haben Sie eine einzelne App-Datei mit Ihren Vorlagenaufrufen, die der Seite mitteilt, wo der gerenderte HTML-Code ausgegeben werden soll.

Im Moment denke ich, dass das, was ich sehe, dazu führt, dass Ihre vorkompilierte Vorlage vor dem Rendern vollständig vom Browser ausgewertet wird. Dies macht die Vorkompilierung wertlos.

Schließung wegen Inaktivität.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen