![](/img/trans.png)
[英]NestJS 'type' is declared but its value is never read.ts(6133)
[英]Importing array of object from external file getting error: "function" is declared but its value is never read ts(6133)
我有一组对象
toDo.js
export const examples = [
{
question: "xx",
answer: "yy",
},
{
question: "xx",
answer: "yy",
},....]
然后我有以下逻辑,然后将其导入index.js 。 通过这段代码<div id="examples-container"></div>
然后我也导入它<script src="logic.js" type="module"></script>
我有以下问题:已声明Toggle (function)但其值从未读取 ts(6133) 。 单击按钮时出现此错误。
逻辑.js
import { examples } from "./Předměty/Matematika.js";
function toggle(i) {
const div = document.querySelector(`#result_${i}`);
if (div.style.display !== "none") {
div.style.display = "none";
} else {
div.style.display = "block";
}
}
let html = "";
examples.forEach((ex, i) => {
const example = `
<div class="card">
<div class="example">
${ex.question}
</div>
<button type="button" class="toggle" onclick="toggle(${i})">
Toggle
</button>
<div id="result_${i}" style="display:none" class="result">${ex.answer}</div>
</div>`;
html += example;
});
const container = document.querySelector("#examples-container");
container.innerHTML = html;
当我 consol.log(例子)。 我得到整个数组。 我也试过创建新变量然后插入数组。 整个应用程序在一个文件中时的工作方式与我预期的一样,但现在我尝试将其拆分为不同的文件,因为..你知道它是标准的,将应用程序划分为超过 1 个大文件,而且我有一些未来的计划,所以这是必要的. ^^
最好
沃伊泰赫
问题是 html 代码无法访问toggle
function。要解决此问题,您可以手动构建 DOM 树。 因此,您可以单独创建每个元素,而不是创建一个包含 html 代码的字符串并将其附加到容器元素。
const container = document.querySelector("#examples-container");
examples.forEach((ex, i) => {
const card = document.createElement("div");
card.classList.add("card");
const example = document.createElement("div");
example.classList.add("example");
example.innerHTML = ex.question;
card.appendChild(example);
const button = document.createElement("button");
button.classList.add("toggle");
button.innerHTML = "Toggle";
button.addEventListener("click", () => toggle(i)); // Here is the event listener
card.appendChild(button);
const result = document.createElement("div");
result.id = "result_" + i;
result.style.display = "none";
result.classList.add("result");
result.innerHTML = ex.answer;
card.appendChild(result);
container.appendChild(card);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.