Câu trả lời:
Đó là một trường hợp sử dụng cho @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......
}
}
Đây là một bản demo hoạt động:
https://stackblitz.com/edit/angular-viewchilddemo?file=src%2Fapp%2Fapp.component.ts
ngAfterViewInit()
được kích hoạt. Bạn phải nhập ViewChild
từ '@ angle / core` ..
this.ipt.nativeElement.setAttribute('value', 'xxx');
nhưng không có gì xảy ra. Và không có phương thức nào giống như value()
hoặc setValue()
, ngay cả khi tôi khai báo nó thuộc loại HTMLInputElement (tôi dựa trên điều này dựa trên gợi ý mã / tự động hoàn thành của IDE). Trong trường hợp của tôi, tôi không quan tâm đến việc đọc giá trị. Tôi chỉ cần đặt các giá trị khác nhau.
setProperty
cũng đã thử ?
this.input.nativeElement.value = 'test'
làm việc ?! có thể có những hành vi đặc biệt với các hình thức và ràng buộc của chúng.