J'utilise phonegap avec un guidon, mais même si j'ai précompilé les modèles, c'est toujours lent.
Peut-être que mettre un script dans un modèle est à l'origine de cela.
<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>
Votre HTML est atroce. La raison du ralentissement ne peut pas être résolue sans votre modèle de vue.
C'est le contexte
<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);
Je ne sais pas à quoi sert votre fonction dans les balises de script ; semble être pour itérer sur un tableau d'images, mais le code que j'ai collé pour appeler votre modèle précompilé n'y appartient pas.
Idéalement, vous auriez un seul fichier d'application avec vos appels de modèle, indiquant à la page où sortir le HTML rendu.
À l'heure actuelle, je pense que ce que je vois entraînera l'évaluation complète de votre modèle précompilé par le navigateur, avant le rendu. Cela rend la précompilation sans valeur.
Fermeture pour cause d'inactivité.