página person.model.ts;
export class Person { name: string; email: string; desc: string; adres: Address; } export class Address { city: string; disticy: string; postCode: number; country: string; }página person.component.html;
... <div class="bg-secondary container"> {{ jsonPerson }} </div> ... <input [(ngModel)]="newPerson.adres.city" name="city" type="text" id="city" placeholder="Şehir" class="form-control"> ...página form.component.ts;
... public newPerson: Person = new Person(); get jsonPerson() { return JSON.stringify(this.newPerson) } ...El problema es; Quiero usar la información de mi dirección como un objeto. Y así es como lo usé. Pero cuando me conecto a mi página html como [(ngModel)]="newPerson.address.city" aparece un error. Es decir, ¿cómo puedo llegar al objeto Dirección dentro del objeto Persona y obtener un resultado exitoso?
Información: person.model.ts no es mi fuente de datos. Distribuyo mis datos a las páginas necesarias a través de person.service.ts. entonces no hay base de datos
Necesitas inicializarlo.
export class Person { adres: Address = new Address(); }o
export class Person { adres: Address; constructor() { this.adres = new Address(); } }@Furkan solo ten en cuenta que:
La compatibilidad con el uso de la propiedad de entrada ngModel y el evento ngModelChange con directivas de formulario reactivo quedó obsoleta en Angular v6 y se eliminará en una versión futura de Angular.
Ahora en desuso: <input [formControl]="control" [(ngModel)]="value">