我有一个应用程序的一部分:
- 进行 API 调用以将 JSON 对象发送回客户端。此 JSON 对象的属性之一是一个简单的字符串数组。
- 使用 handlebars.compile 将此数据显示给用户。
这是我正在使用的对象:
{
_id: new ObjectId("7867867868786786786786786"),
title: 'rgfregre',
description: '',
createdBy: '6687678786786786',
cards: [ 1, 2, 3 ],
createdAt: 2021-10-31T02:59:31.496Z,
updatedAt: 2021-10-31T02:59:31.496Z,
__v: 0
}
这是把手代码:
<script id="pack-modal" type="text/x-handlebars-template">
<div class="modal" id="modal">
<div class="modal-header">
<div class="title">\{{title}}</div>
</div>
<div class="pack-modal-body">
<label for="description" class="description-label">Description (optional):</label>
<textarea name="description" class="pack-description"></textarea>
<div style="height: 500px;">
{{#each cards}}
<h1>??</h1>
{{/each}}
</div>
</div>
</div>
<div id="overlay"></div>
</script>
和 JS 代码虽然它可能在这里没有任何用处
async function openPackModal(packInfo) {
try {
const data = await fetch('/get-pack', {
method: 'POST',
body: JSON.stringify({ "pack": packInfo }),
headers: { 'Content-Type': 'application/json' }
});
const result = await data.json();
console.log(result);
const packModalScript = Handlebars.compile(packModalTemplate);
const html = packModalScript(result);
document.body.insertAdjacentHTML('beforeend', html);
displayModal();
addCloseModal();
} catch (err) {
console.log(err);
}
}
我可以访问其他所有内容,标题,createdAt 等,但每个循环的卡片根本不起作用。我什至可以用 {{cards}} 替换 {{title}} 并将 [1, 2, 3] 作为 H1,因此我知道车把可以访问它。我还为最新版本的车把添加了 CDN。我必须在标题和其他所有内容前面添加 \ 才能使其正常工作,但是使用卡片循环执行此操作会引发错误。我不知道为什么这不起作用。