Answers:
这是一个用例@ViewChild
:
https://angular.io/docs/ts/latest/api/core/index/ViewChild-decorator.html
class XComponent {
@ViewChild('ipt', { static: true }) input: ElementRef;
ngAfterViewInit() {
// this.input is NOW valid !!
}
somefunction() {
this.input.nativeElement......
}
}
这是一个工作示例:
https://stackblitz.com/edit/angular-viewchilddemo?file=src%2Fapp%2Fapp.component.ts
ngAfterViewInit()
被触发后,它才可用。您必须ViewChild
从'@ angular / core` ..
this.ipt.nativeElement.setAttribute('value', 'xxx');
但是什么也没发生。而且,即使我声明了HTMLInputElement类型的方法,也没有类似value()
或的方法setValue()
(我将其基于IDE的代码提示/自动完成功能)。就我而言,我不在乎读取值。我只需要设置不同的值。
setProperty
也尝试过吗?
this.input.nativeElement.value = 'test'
工作吗?也许表单和它们的绑定有特殊的行为。