actualizaciónmejorar el rendimiento plantilla jQuery
Al parecer, las plantillas jQuery puede ser compilado y se mejora el rendimiento para las plantillas con si las declaraciones mostrado here.
Pero como se muestra en here, las plantillas jQuery precompiladas no hacen mucho para mi caso ya que mi plantilla no contiene ningún bloque lógico.
Para aquellos que están sugiriendo el uso de otro motor de plantillas, idealmente me gustaría usar solo plantillas de jQuery ya que todos en el equipo solo conocen jQuery. También hay this caso de prueba que compara unas pocas plantillas de motor.
Hola,
Hoy mismo me dijeron que hay problemas de rendimiento con el uso de plantillas jQuery.
Para comparar, he usado las plantillas de jQuery y el buen método de agregar cadenas para agregar filas a una tabla. Los resultados se pueden ver here. El uso de plantillas jQuery es aproximadamente un 65% más lento en comparación con el método de anexión de cadenas, ¡Ay!
Me pregunto qué se puede hacer para mejorar el rendimiento de la secuencia de comandos de la plantilla jQuery.
El guión completo se puede ver en el enlace proporcionado. Pero la idea básica es la siguiente:
Plantilla:
<script type="x-jquery-tmpl" id="tmplRow">
<tr>
<td><input type="checkbox" value="${id}" /></td>
<td>${firstName} ${lastName}</td>
<td class="edit">
<a>Edit</a>
<input style="display:none;" type="hidden" value="Blah" />
<input class="cancel" type="button" value="cancel" />
</td>
<td class="select">
<a>Select</a>
<select style="display:none;">
<option>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</select>
<input class="cancel" type="button" value="cancel" />
</td>
<td>More string</td>
<td>More string</td>
<td>More string</td>
<td>More string</td>
<td>More string</td>
<td>More string</td>
</tr>
</script>
datos:
<script type="text/javascript">
var data = [];
for (var i = 0; i < 100; i++) {
var row = {
id: i,
firstName: 'john',
lastName: 'doe'
};
data.push(row);
}
</script>
HTML:
<table id="table"></table>
Ejecuta:
<script type="text/javascript">
$('#tmplRow').tmpl(data).appendTo('#table');
</script>
Gracias,
Chi
no me importa de revisar manillar. Pero su descarga no funciona. si hago referencia solo a "handlebars.js" desde el código fuente, se producirá un error con el método "requerido" no definido. ¿Tienes una copia del archivo js sentado? –
jquery templates 'compila' las plantillas también ... – user406905
Aparentemente, las plantillas de 'compilación' solo ayudan si hay bloques de control lógico. Por favor revise la pregunta actualizada para más detalles. –