属性“ forEach”在类型“ NodeList”上不存在

时间:2018-09-17 12:25:44

标签: angular typescript angular6 dragula angular-dragula

我正在使用ng2-dragula在表中进行拖放。

  this.dragulaService.drop.subscribe(value => {     

  let questions_group = value[3] as HTMLTableRowElement        
  let SectionTwo:Array<string> = [];
  let QuestionId:Array<string> = [];
  let OrderNo:Array<number> = [];
  var list2 = questions_group.childNodes;      

  list2.forEach( 
    function(currentValue, currentIndex,listObj) { 

      if(currentIndex!=0){           
        let sectionName2 = currentValue.lastChild.textContent
        SectionTwo.push(sectionName2)
        QuestionId.push(currentValue.firstChild.textContent)
        OrderNo.push(currentIndex)

      }         
    },
    ''
  );   });

突然间,它开始给我一个错误,即“ NodeList类型上不存在属性'forEach'。”。在一切正常之前,我没有做任何更改。

2 个答案:

答案 0 :(得分:3)

我在tsconfig.json的lib中添加了属性“ dom.iterable”,并且有效

答案 1 :(得分:0)

另一种方式:

  • 使用价差运算符:

    var list2 = [...questions_group.childNodes]; // Take a look of the syntax
    
    list2.forEach(function(currentValue, currentIndex,listObj) => {
       // Todo
    })