Таблица не импортирует значения из массива (Handlebars / html / javascript) - PullRequest
0 голосов
/ 21 апреля 2020

Я создал шаблон руля для таблицы, которая импортирует данные из следующего массива.

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;
}

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

...