Quindi sto provando un po 'di Angular 2 e mi piace fin'ora. Ma ho bisogno di aiuto per navigare in questo nuovo paesaggio.Angolare 2, imposta il valore degli input di testo nel modulo
Ho un modulo per modificare i dettagli di un utente e un elenco sul lato con tutti i miei utenti. Quando faccio clic su uno degli utenti nell'elenco, desidero compilare il modulo di modifica dell'utente con i dettagli dell'utente (setEditForm (utente)).
Ho funzionato e tutto. Ma devo dire che non è giusto usare ngControl e ngModel allo stesso tempo. Ma forse è ...
È questo il modo corretto per farlo o ho avuto un po 'di fortuna nel farlo funzionare?
@Component({
template: `
<form (ngSubmit)="editUser(f.value)" #f="ngForm">
<input ngControl="nameInp" [ngModel]="selectedUser.name" type="text">
<input ngControl="ageInp" [ngModel]="selectedUser.age" type="text">
<input ngControl="cityInp" [ngModel]="selectedUser.city" type="text">
<button type="submit">Save</button>
</form>
)}
export class AdminComponent {
selectedUser:UserModel;
constructor() {
this.selectedUser = new UserModel;
}
setEditForm(user:UserModel) {
this.selectedUser = user;
}
editUser(form:any) {
// Update DB with values
console.log(form['nameInp']);
console.log(form['ageInp']);
console.log(form['cityInp']);
}
}