我创建了一个 jTemplate 来显示一组“测试”对象。该数组是一个常规索引数组。模板非常基本,只是使用 a{#foreach}
来遍历数组中的项目并将它们显示在一个小表格中。这个模板完成了这项工作,我得到了预期的输出。
// Setup the JTemplate.
$('#tests_div').setTemplate($('#tests_template').html());
try {
// Process the JTemplate to display all currently selected tests.
$('#tests_div').processTemplate(_selectedTests);
}
catch (e) {
alert('Error with processing template: ' + e.Description);
}
<script type="text/html" id="tests_template">
{#foreach $T as tests}
<table>
<tr>
<td>Index: {$T.tests.index}</td>
<td>Name: {$T.tests.firstname} {$T.tests.lastname}</td>
<td>Score: {$T.tests.score} </td>
</tr>
</table>
{#/for}
</script>
我想做的是将我的数组更改为关联数组,并使用测试的索引将我的对象存储在其中。当我稍后需要对测试进行一些操作时,这使得使用起来更容易。
var a = new Test;
a.index = 12345678;
_selectedTests[a.index] = a;
但是,当我将数组传递给模板时,我收到一个关于脚本的错误导致我的浏览器运行缓慢,询问我是否要停止它。似乎它处于某种无休止的循环中。我不确定模板是否正确读取数组。谁能告诉我如何使用 jTemplates 中的关联数组?