Handlebars.js: Предварительно скомпилированный руль все еще медленный

Созданный на 24 апр. 2016  ·  4Комментарии  ·  Источник: handlebars-lang/handlebars.js

Я использую телефонную связь с рулем, но даже если я предварительно скомпилировал шаблоны, все равно медленно.
Возможно, причиной этого является размещение сценария внутри шаблона.

<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 рейтинги

Смежные вопросы

nknapp picture nknapp  ·  3Комментарии

jlubean picture jlubean  ·  8Комментарии

snimavat picture snimavat  ·  5Комментарии

sontek picture sontek  ·  3Комментарии

rizen picture rizen  ·  6Комментарии