如何在Angular中动态更改元素的ID?

Jus10

我在一个循环中有一个元素,我只想更改它的id以避免冲突。我做了一些搜索,但似乎找不到任何东西。

<div *ngFor="let location of job.tasks; let i = index">
  <div id="index-{{i}}">
    {{index}}
  </div>
</div>

问题是当我在ngOnInit中调用时,document.getElementById('index-1')它返回null,因为它尚未分配ID。

Pankaj Parkar

属性连接ngForindex(iid

<div *ngFor="let location of job.tasks; let i = index">
  <div id="index-{{i}}">
    {{index}}
  </div>
</div>

您应该查询您的DOMngFor循环,您可以在ngAfterViewInit生命周期事件中执行相同的操作

ngAfterViewInit(){
    console.log(document.getElementById('1'));
}

在这里演示


更正确的方式做到这一点使用#template-variable上的ngFor模板,@ViewChildren装饰,找出各自的DOM。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章