1
我有一個index.html,我有表格,那我用JavaScript填充:的Javascript - 創建表車把
<div class="table-responsive table-hover">
<table class="table" id="table">
</table>
</div>
我創建車把模板文件:
<tr>
<td>{{ avatar }}</td>
<td>{{ name }}</td>
<td>{{ homepage }}</td>
<td>{{ score }}</td>
</tr>
在我的腳本中,我導入模板並嘗試發送數據,這是我從api端點獲得的對象數組,我首先在array
對象上執行forEach
循環,然後調用createHtml
函數:
var tableTemplate = require('../../templates/table.handlebars');
var createHtml = function(data) {
console.log(data);
var table = document.querySelector('#table');
table.innerHTML = tableTemplate({
avatar: data.owner.avatar_url,
name: data.full_name,
homepage: data.homepage,
score: data.score
});
}
array.forEach(createHtml);
但是,即使我得到登錄的功能createHtml
只有正在創建表的第一行內的所有主機從陣列的對象,這是爲什麼,我該如何解決?
更新
我已經試過這樣的事情,但我得到表未定義:
var tableTemplate = require('../../templates/table.handlebars');
var createHtml = function(data) {
console.log(data);
table += tableTemplate({
avatar_url: data.owner.avatar_url,
full_name: data.full_name,
homepage: data.homepage,
score: data.score
});
}
export function createTable(repositories, page) {
var itemsPerPage = 20,
offset = page*20;
table = document.querySelector('#table');
table.innerHTML = '';
repositories.slice(offset, offset+itemsPerPage).forEach(createHtml);
}
您能否給我提供一個代碼示例,不知道如何做到這一點,我將非常感激!謝謝! – Leff
我可以,如果你嘗試一些東西,並顯示你的嘗試。基本上你需要在createHtml之外定義一個字符串,並將其連接到createHtml中,並且需要使用串聯在一起的字符串變量來從createHtml外部設置innerHTML。 –
我嘗試了一些東西,我不知道這是你的意思。只是不能得到它的工作。我已經用我的嘗試更新了我的問題。 – Leff