回答:
これは次の使用例です@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'
うまくいかない?!おそらく、フォームとそのバインディングに特別な動作があるでしょう。