我使用Javascript和Contentful呈现HTML。
我的代码:
contentfulClient.getEntries({
content_type: PRODUCT_CONTENT_TYPE_ID,
order: '-fields.dateRated'
})
.then(function(entries) {
container.innerHTML = renderProducts(entries.items)
})
function renderProducts(products) {
return '<table id="film-table"><tr><th>Name</th><th>Rating</th></tr><tr><td>Check back tomorrow</td><td class="rating-cell"></td></tr>' +
products.map(renderSingleProduct) +
'</table>'
}
但是,当我测试时,每个条目的表格上方都会出现一个逗号: commas above table
感谢您的帮助。
答案 0 :(得分:0)
这里的问题是.map
函数返回一个数组。因此,当您将products.map(renderSingleProduct)
添加到现有字符串时,它会将此数组转换为字符串,其中包含,
作为分隔符。
如果你在最后添加一个.join('')
调用,一切都应该没问题,因为这会将数组变回一个带有提供的分隔符的字符串。
function renderProducts(products) {
return '<table id="film-table"><tr><th>Name</th><th>Rating</th></tr><tr>
<td>Check back tomorrow</td><td class="rating-cell"></td></tr>'
+
products.map(renderSingleProduct).join('') +
'</table>'
}