【发布时间】:2021-03-06 03:01:54
【问题描述】:
目前我正在学习 Angular 8,我发现在少数文章中人们使用以下代码来获取 html DOM 元素。
import {AfterViewInit, Component, ElementRef, ViewChild} from '@angular/core';
@Component({
selector: 'app',
template: `
<div #myDiv>Some text</div>
`,
})
export class AppComponent implements AfterViewInit {
@ViewChild('myDiv') myDiv: ElementRef;
ngAfterViewInit() {
console.log(this.myDiv.nativeElement.innerHTML);
}
}
但与上面的代码相比,我们可以使用document.getElementById("myDiv") 获取html DOM元素,如下所示。
import {AfterViewInit, Component, ElementRef, ViewChild} from '@angular/core';
@Component({
selector: 'app',
template: `
<div id="myDiv">Some text</div>
`,
})
export class AppComponent implements AfterViewInit {
ngAfterViewInit() {
console.log(document.getElementById("myDiv").innerHTML);
}
}
那么哪种方式更可取?为什么?
我试图在谷歌上找到答案,但找不到任何合适的技术和详细答案。
谢谢,
【问题讨论】:
标签: javascript angular typescript document elementref