Búsqueda de sitios web

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**

Artículos relacionados