Я создал шаблон руля для таблицы, которая импортирует данные из следующего массива.
let all_units = [
{
'code': 'COMP2110',
'title': 'Web Technology',
'offering': 'S1'
},
{
'code': 'COMP2010',
'title': 'Algorithms and Data Structures',
'offering': 'S1'
},
{
'code': 'COMP2150',
'title': 'Game Design',
'offering': 'S1'
},
{
'code': 'COMP2320',
'title': 'Offensive Security',
'offering': 'S1'
},
{
'code': 'COMP2200',
'title': 'Data Science',
'offering': 'S2'
},
{
'code': 'COMP2250',
'title': 'Data Communications',
'offering': 'S2'
},
{
'code': 'COMP2300',
'title': 'Applied Cryptography',
'offering': 'S2'
},
{
'code': 'COMP2000',
'title': 'Object-Oriented Programming Practices',
'offering': 'S2'
},
{
'code': 'COMP2050',
'title': 'Software Engineering',
'offering': 'S2'
},
{
'code': 'COMP2100',
'title': 'Systems Programming',
'offering': 'S2'
}
];
Это мой шаблон руля на главной странице html.
<script id="Unit_List" type="text/x-handlebars-template">
<table>
<tr>
<th> Code </th>
<th> Title </th>
<th> Offering </th>
</tr>
<tr>
{{#each unit}}
<th> {{code}} </th>
<th> {{title}} </th>
<th> {{offering}} </th>
{{/each}}
</tr>
</table>
</script>
Это функция просмотра на странице javascript, которая должна отображать таблицу.
function unit_table(id, units) {
let target = document.getElementById(id);
let table = "<table>";
let template= Handlebars.compile(
document.getElementById("Unit_List").textContent
);
table=template({'units': units});
console.log(table);
table += "</table>";
target.innerHTML = table;
}
Однако шаблону руля не удается импортировать значения из массива в таблицу. Он отображает только строки заголовков без значений. Возможно, что-то не так с инициализацией руля. Я убедился, что все функции импортированы и экспортированы правильно. Любая помощь будет оценена. Спасибо.