目前我正在学习 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);
}
}
那么哪种方式更可取?为什么?
我试图在谷歌上找到答案,但找不到任何合适的技术和详细答案。
谢谢,