Jawaban:
Itu adalah kasus penggunaan untuk @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......
}
}
Berikut demo yang berfungsi:
https://stackblitz.com/edit/angular-viewchilddemo?file=src%2Fapp%2Fapp.component.ts
ngAfterViewInit()dipecat. Anda harus mengimpor ViewChilddari '@ angular / core` ..
this.ipt.nativeElement.setAttribute('value', 'xxx');tetapi tidak ada yang terjadi. Dan tidak ada metode seperti value()atau setValue(), bahkan jika saya mendeklarasikannya dengan tipe HTMLInputElement (Saya mendasarkan ini pada kode IDE yang mengisyaratkan / pelengkapan otomatis). Dalam kasus saya, saya tidak peduli tentang membaca nilainya. Saya hanya perlu menetapkan nilai yang berbeda.
setPropertyjuga?
this.input.nativeElement.value = 'test'bekerja ?! mungkin ada perilaku khusus dengan bentuk dan ikatannya.