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 ViewChild
dari '@ 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.
setProperty
juga?
this.input.nativeElement.value = 'test'
bekerja ?! mungkin ada perilaku khusus dengan bentuk dan ikatannya.