如何解决使用 ParcelJS 导出时循环不起作用
我使用的是 ParcelJS V2。我有以下代码可以从 HTML 表中获取数据。单元格中的每个 <td>
都包含一个 <input>
标记,而 getElementById
指的是输入标记的 ID。
getCount.js
let rowCount = document.getElementById("left-col__table").rows.length;
let dataExport = []
let tuple = []
let i
function collectData() {
for (i = 0; i < rowCount - 2; i++) {
console.log("RowCount: " + rowCount)
tuple.push(document.getElementById("x-in-" + i.toString()).value)
tuple.push(document.getElementById("y-in-" + i.toString()).value)
console.log(tuple);
dataExport.push(tuple)
tuple = []
}
console.log("DataExport:" + dataExport.toString())
}
export default collectData
script.js
import collectData from '....'
collectData()
当我检查控制台时,没有来自 collectData
函数的日志。
这个 FOR
循环在我的 script.js
中使用时工作正常,但在我导出然后导入到 script.js
时不起作用。
有没有什么方法可以使用 ParcelJS 导出循环?
解决方法
移动
let rowCount = document.getElementById("left-col__table").rows.length;
在您的 function collectData() {
中。
在捆绑 DOM 时不可用,呈现您的 rowCount
undefined
。
当你的函数被执行时,你的循环结束条件检查
0 < undefined - 2
undefined - 2
结果为 NaN
。
0 < NaN
是 false
,所以你的循环永远不会运行。
试试这个。
getCount.js
function collectData() {
let rowCount = document.getElementById("left-col__table").rows.length;
let dataExport = []
let tuple = []
let i
for (i = 0; i < rowCount - 2; i++) {
console.log("RowCount: " + rowCount)
tuple.push(document.getElementById("x-in-" + i.toString()).value)
tuple.push(document.getElementById("y-in-" + i.toString()).value)
console.log(tuple);
dataExport.push(tuple)
tuple = []
}
console.log("DataExport:" + dataExport.toString())
}
export default collectData
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。