Javascript 如何在Angular2 typescript中获取索引id

Javascript 如何在Angular2 typescript中获取索引id,javascript,angular,Javascript,Angular,我想在typescript ngonit()中获取html生成的id值。 这是安格拉尔的问题 下面是一个场景 <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 </d

我想在typescript ngonit()中获取html生成的id值。 这是安格拉尔的问题 下面是一个场景

<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>
我必须把它写在上面。这应该加载到页面加载上。我生成的id显示在Html页面上,但是,我希望获取这些id在
typescript>ngOnInit
中执行一些操作

ngOnInit(){}
中,应该是这样的=>
this.service.x.subscribe(数据=>{
var indexK=document.getElementById(“cdata\uUK”+i);
console.log(“indexK”);})

这个坏了,应该是打印出来的

cdata_0 
cdata_1 
cdata_2 
cdata_3

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


我的设想是,伙计@在同一个组件中,它对我来说毫无意义。每个值都有一个索引值,您需要哪一个。我认为您想要实现的是获取已单击按钮的索引(这是一个场景)。如果是这样,请在按钮中添加一个(单击)=“buttonClicked($event,index)”,然后创建一个buttonClicked函数并获取索引id。这不是场景。我必须把它写在上面。这应该加载到页面加载上。我生成的id显示在Html页面上,但是,我希望get THERY id在typescript>ngOnInit.in ngOnInit(){}中执行一些操作,这应该是这样的=>this.service.x.subscribe(data=>{var indexK=document.getElementById(“cdata”+i);console.log(“indexK”);})这一个不起作用。它应该像cdata\u 0 cdata\u 1 cdata\u 2 cdata\u 3一样打印。为什么必须以这种特定的方式编写它?你不喜欢用更好(恰当)的方式写吗?为什么不告诉我们你想实现什么,而不是如何实现?那可能会有帮助。我感谢你的回答。但我必须通过调用任何函数来实现这一点。我是用另一种方式做的。我被直接写在html页面上的条件。无需编写函数或调用。
cdata_0 
cdata_1 
cdata_2 
cdata_3
ngAfterContentInit(){
 data.forEach((item, index) => {
    var indexK=document.getElementById("cdata_"+index); 
    console.log("indexK");
  });
}