typescript - 如何在 Angular 6 的主 div 中获取每个 div?
问题描述
我有一个 div 元素,其中包含其他三个 div。现在我需要使用 Angular 6 获取 div 中的所有 div。我正在使用它@ViewChildren
来执行此操作。但我只能获取主 div 中的第一个元素。
如何获取“mainDiv”中的所有 div 元素?这是我的代码:
<div class="mainDiv" #divElements>
<div>First Element</div>
<div>Second Element</div>
<div>Third Element</div>
</div>
这是我的打字稿代码:
export class sampleComponent{
@ViewChildren('divElements') mainDiv;
constructor() {}
}
ngOnInit(){
console.log(mainDiv);
}
}
请指导我如何进行。
解决方案
#divElements 是模板中的一个本地变量,用于在我们使用 @ViewChild('divElements') 注释的组件中获取特定的 HtmlElement。
对所有剩余的 div 标签使用 localVariable 以将它们各自的 HtmlElement 放入您的组件(或)
使用 ElementRef 的 nativeElement从 childNodes 获取它,检查下面的类以获得更好的理解
export class AppComponent {
name = 'Angular 6';
@ViewChild('divElements')
public divElements: ElementRef;
ngOnInit() {
console.log(this.divElements.nativeElement.childNodes);
}
}
推荐阅读
- regex - 正则表达式否定字符类问题,Scala
- angularjs - NgSubmit 不起作用(按钮已经在表单中)
- ios - 检测应用程序是否通过单击应用程序图标或推送通知启动(当应用程序被用户强制终止时)
- javascript - 部分类型的参数不能分配给类型的参数
- azure-resource-manager - Azure 表单识别器资源使用指标
- angularjs - 访问 $scope 变量,其名称存储在另一个变量中
- c# - 如何使用 C# 正确地并行运行大量计算?
- json - 在 JSON 值的整个数组中找不到值
- javascript - 使用键将点击次数推送到对象
- unit-testing - 如何在 Vue.js 测试中测试 Canvas 元素?