因此,我在我的练习工作中与angular4一起工作,这对我来说是新的。幸运的是,为了获得html元素及其使用的值,我
<HTMLInputElement> document.getElementById
还是
<HTMLSelectElement> document.getElementById
我想知道是否有任何替代角度
因此,我在我的练习工作中与angular4一起工作,这对我来说是新的。幸运的是,为了获得html元素及其使用的值,我
<HTMLInputElement> document.getElementById
还是
<HTMLSelectElement> document.getElementById
我想知道是否有任何替代角度
Answers:
您可以使用标记DOM元素#someTag
,然后使用进行标记@ViewChild('someTag')
。
查看完整的示例:
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);
}
}
console.log
将打印一些文本。
对于Angular 8或后置@ViewChild,还有一个名为opts的附加参数,它具有两个属性:read和static,read是可选的。您可以这样使用它:
// ...
@ViewChild('mydiv', { static: false }) public mydiv: ElementRef;
constructor() {
// ...
<div #mydiv></div>
注意:静态:在Angular 9中不再需要false(仅{ static: true }
当您打算在ngOnInit中使用该变量时)
*ngIf
。您如何创建元素?
element: HTMLElement;
constructor() {}
fakeClick(){
this.element = document.getElementById('ButtonX') as HTMLElement;
this.element.click();
}