Búsqueda de sitios web

javascript - Typescript - Vincular ngModel a una propiedad de un objeto


Tengo un objeto llamado user:

let user = {};

¿Cómo puedo vincular una entrada a una propiedad indefinida? Por ejemplo.

<input [(ngModel)]="user.name" placeholder="Enter your name"></input>

Y cada vez que el usuario ingrese su nombre, quiero que el ngModel cree la propiedad indefinida de ese objeto y resulte en esto:

user = {name: "John"};

¿También es posible hacerlo en niveles más profundos? Por ejemplo.

<input [(ngModel)]="user.homeaddress.postcode" placeholder="Enter your post code"></input>

resultar en:

user = {name: "John", homeaddress: {postcode: "E20 1QS"}};

Respuesta #1

El enlace de datos bidireccional admite cualquier objeto anidado, solo necesitas usarlo así,

<input [(ngModel)]="user.homeaddress.postcode" placeholder="Enter your post code"></input>

ya que has inicializado los datos, no lanzará ningún error.

Respuesta #2

¿Es esto también posible de hacer a niveles más profundos?

Sí. "user.homeaddress.postcode" funcionará.

Artículos relacionados