html - Angular - Establecer valor en un cuadro de texto en otro componente
Estoy intentando establecer el valor en un cuadro de texto de entrada HTML que es parte de ComponentA desde el código TypeScript que es parte de ComponentB.
Tomando una pista de este SO, intenté hacer:
(<HTMLInputElement>document.getElementById("name")).value = response.name;
Pero esto no está funcionando. ¿Hay algo más de lo que necesite ocuparme?
EDITAR: El elemento con Id "name" está en ComponentA y el código anterior que intenta manipular ese elemento está en ComponentB
Respuesta #1
Si estás intentando establecer el valor del campo de texto de component1 desde component2, entonces debes usar ngModel, es decir, enlace de datos bidireccional. Al proporcionar component2 en la lista de proveedores, puedes acceder a todas las funciones y variables de ese componente, entonces puedes establecer fácilmente tu valor. Así:
supongamos que este es el valor de la propiedad de tu componente 2
name:string = 'Pardeep Jain';
entonces puedes acceder a esto en el componente así-
<input type="text" [(ngModel)]='name'>
....
constructor(private delete1: Delete){
this.name = this.delete1.name;
}
Ejemplo Funcional
También
(<HTMLInputElement>document.getElementById("name")).value = response.name;
se utiliza para establecer el valor del campo de la plantilla actual con id llamado **name**
