如何在Angular2打字稿中获取索引ID

时间:2017-10-28 08:58:57

标签: javascript angular

我想在typescript ngOnInit()中获取html生成的id值。 这是Angular2的问题 这是场景。

<html>
<div *ngFor='let post of data; let i = index' [attr.data-index]="i">

<button id="cdata_{{i}}">Click<button>

//here id will generate for the button in loop

</div>
</html>

现在在typescript(.ts)文件中

ngOnInit(){
    //How to get the index value here in this function?Without any click function in html.
}

我必须写一下onInit.this应该加载页面加载。我生成的id显示在Html页面上,但是,我想让这些id在typescript>ngOnInit中执行某些操作。

ngOnInit(){}中的

,这应该是这样的=&gt;     this.service.x.subscribe(data=>{ var indexK=document.getElementById("cdata_"+i); console.log("indexK"); })

这个不起作用。这应该像

那样打印
cdata_0 
cdata_1 
cdata_2 
cdata_3

1 个答案:

答案 0 :(得分:0)

如果要访问DOM,则无法通过ngOnInit中的id获取元素,因为尚未加载DOM。你需要像这样调用你的函数(或者你可以使用observable)

ngAfterContentInit(){
 data.forEach((item, index) => {
    var indexK=document.getElementById("cdata_"+index); 
    console.log("indexK");
  });
}