作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何获取对 Angular 组件中封装设置为 ShadowDOM 的元素的引用?
const element = document.getElementById(id);
例如返回null
编辑:添加了 html 片段
<div *ngFor='let item of items' [attr.id]='item.key'>
.....
</div>
我需要引用创建的每个 div。
使用模板变量可以,但据我所知,您无法动态生成模板变量。
例如
<div #myTarget> ... </div>
作品
最佳答案
您的代码与 ShadowDOM 完全无关,并且您不应该在 Angular 中通过 ID 选择元素,因为这是一种反模式。相反,使用 the ViewChildren()
selector在你的 TypeScript 代码中!
class SomeCmp implements AfterViewInit {
@ViewChildren('myItem') items!: QueryList<ElementRef>;
ngAfterViewInit(): void {
console.log(`I have ${this.items.length} items!`);
}
}
<div *ngFor='let item of items' #myItem>
.....
</div>
关于javascript - 如何在 ShadowDOM 中通过 id 查找元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56293387/
我是一名优秀的程序员,十分优秀!