ComponentA
の一部であるTypeScriptコードからComponentB
の一部であるHTML入力テキストボックスに値を設定しようとしています。
this SOから手がかりを取得してみました:
(<HTMLInputElement>document.getElementById("name")).value = response.name;
しかし、これは機能していません。私が世話をする必要がある他のものはありますか?
EDIT:Id "name"
はComponentAにあり、その要素を操作しようとしている上記のコードはComponentBにあります
これは、あるコンポーネントComponentA
でのユーザーインタラクションが別のコンポーネントComponentB
で更新をトリガーする場合の1つです。
この記事 は、コンポーネント間で情報を渡す方法に関するコード例を使用した複数のアプローチについて説明しています。
私の個人的なお気に入りは、その記事で言及されている3番目のアプローチで、コンポーネント(たとえばComponentA
)の1つがサービスを介して任意のコンポーネント(たとえばComponentB
)から更新を「リッスン」しますそれらの間に、疎結合されたコンポーネントをもたらします。
他のアプローチについては、別の link を使用してください。
コンポーネント1のテキストフィールドの値をコンポーネント2から設定しようとしている場合は、ngModel
を使用する必要があります。つまり、双方向のデータバインディングが必要です。プロバイダーリストにcomponent2を指定すると、そのコンポーネントのすべての関数と変数にアクセスでき、値を簡単に設定できます。このような
これがコンポーネント2の値プロパティであるとします
name:string = 'Pardeep Jain';
このようなコンポーネントでこれにアクセスできるよりも、
<input type="text" [(ngModel)]='name'>
....
constructor(private delete1: Delete){
this.name = this.delete1.name;
}
また
(<HTMLInputElement>document.getElementById("name")).value = response.name;
id named as **name**
で現在のテンプレートのフィールドの値を設定するために使用されます