我有一个Angular 2组件,我想要检索一个元素div
< div id =“myId”>通过它的身份.我尝试在我的组件(TypeScript)中执行:document.getElementById(“myId”),但是我收到一个错误:“找不到名称文档”.我看到在其他帖子中我们可以使用@ViewChild做类似的事情,但我不知道我们如何使用div,任何想法?
< div id =“myId”>通过它的身份.我尝试在我的组件(TypeScript)中执行:document.getElementById(“myId”),但是我收到一个错误:“找不到名称文档”.我看到在其他帖子中我们可以使用@ViewChild做类似的事情,但我不知道我们如何使用div,任何想法?
您可以通过添加
TemplateRef将@ViewChild与div一起使用.
模板
<div id ="myId" #myId>
零件
import { Component,ViewChild,ElementRef,AfterViewInit } from '@angular/core'; @Component({ selector: 'app-root',templateUrl: './app.component.html',styleUrls: ['./app.component.css'] }) export class AppComponent implements AfterViewInit { @ViewChild('myId') myId: ElementRef; constructor() { } ngAfterViewInit() { console.log(this.myId.nativeElement); } }
This blog post by Kara Erickson对于熟悉Angular处理这类事情的方法非常好.