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