如何在Angular 2应用程序中获取此动态div的innerHTML?

如何在Angular 2应用程序中获取此动态div的innerHTML?,html,angular,typescript,angular2-forms,Html,Angular,Typescript,Angular2 Forms,当我在第一个div中编写任何内容时,相应的innerHTML都会得到正确的处理。然后,如果我在第二个div中写入了一些内容,控制台将被第一个div的数据覆盖。请建议一种获取各个字段的HTML内容并单独控制台的方法。 getHTMLContent() { console.log(this.ce.nativeElement.innerHTML); } 最简单的方法: class MyComponent { @ViewChildren('ce') ces:QueryList<E

当我在第一个div中编写任何内容时,相应的innerHTML都会得到正确的处理。然后,如果我在第二个div中写入了一些内容,控制台将被第一个div的数据覆盖。请建议一种获取各个字段的HTML内容并单独控制台的方法。


getHTMLContent() {
    console.log(this.ce.nativeElement.innerHTML);
  }
最简单的方法:

class MyComponent {
  @ViewChildren('ce') ces:QueryList<ElementRef>;

  constructor(private elRef:ElementRef) {}

  getHtmlContent(i) {
    console.log(this.ces.toArray()[i].nativeElement.innerHTML);
  }
}

getHTMLContent(元素){
log(element.innerHTML);
}

这适用于第一个div。我正确获取了第一个div的innerHTML。但是,由于我正在基于上述代码生成may div,所以无法单独获取每个div的innerHTML。你能帮我吗?你可以使用
@ViewChildren('ce')ces:QueryList
查询元素列表。另请参见抱歉,我没有正确理解它。在我的场景中,考虑一个生成这些div的窗体,并基于我正在获取的JSON文件获取它们的内层HTML值。使用这个解决方案,我正确地获得了第一个div的innerHTML(当我对它进行处理时)。但当我向动态生成的第二个div输入数据并对其进行控制台处理时,我只得到第一个div的值。你能解释一下如何解决这个问题吗?请在你的问题中添加代码来说明这一点。我不能提供一个一般问题的具体答案。HTML是一样的。在ts部分,在focusout事件上,我调用函数getHTMLContent(),它正在执行一个控制台,如:getHTMLContent(){console.log(this.ce.nativeElement.innerHTML);}。现在,当我在第一个div中编写任何内容时,相应的innerHTML都得到了正确的处理。然后,若我在第二个div中写了一些东西,控制台将被第一个div的数据覆盖。请建议一种获取各个字段的HTML内容并对其进行控制台的方法。
<div *ngFor="let field of page.fields; let i=index"> 

  <div #ce class="infills ri...

        (focusout)="getHTMLContent(i)"
class MyComponent {
  @ViewChildren('ce') ces:QueryList<ElementRef>;

  constructor(private elRef:ElementRef) {}

  getHtmlContent(i) {
    console.log(this.ces.toArray()[i].nativeElement.innerHTML);
  }
}
<div *ngFor="let field of page.fields"> 
    <div #ce ... (focusout)="getHTMLContent(ce)">
    </div>
</div>

getHTMLContent(element) {
    console.log(element.innerHTML);
}