繁体   English   中英

使用 ParcelJS 导出时循环不起作用

[英]Loop doesn't work when exported with 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 function 没有日志。

当我在我的script.js中使用这个FOR循环时它工作正常,但当我导出然后导入script.js时它不起作用。

有什么方法可以使用 ParcelJS 导出循环?

移动

let rowCount = document.getElementById("left-col__table").rows.length;

在您的function collectData() {内。

在捆绑 DOM 时不可用,呈现您的rowCount undefined

当您的 function 正在执行时,您的循环结束条件检查

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM