Desidero utilizzare i moduli basati su modello in Angular 2 e devo accedere all'attuale ngForm nella mia direttiva, come proprietà locale e non voglio passarli come parametro.Accesso al modulo angolare 2 guidato da ngForm nel componente
mia forma è simile al seguente:
<form #frm="ngForm" (ngSubmit)="save(frm)">
<input [(ngModel)]="user.name" #name="ngForm" type="text">
<a (click)="showFrm()" class="btn btn-default">Show Frm</a>
</form>
e nel mio componente
@Component({
selector: 'addUser',
templateUrl: `Templates/AddUser`,
})
export class AddUserComponent implements CanDeactivate {
public user: User;
// how can I use this without defining the hole form
// in my component I only want to use ngModel
public frm : ngForm | ControlGroup;
public showFrm() : void{
//logs undefined on the console
console.log(this.frm);
}
}
questo è possibile, perché ho bisogno di controllare se il valide myFrm ist o è stato toccato in una funzione in cui ho non può passare il modulo corrente come parametro es "routerCanDeactivate" e non voglio usare le modelle basate sul modello troppo per scrivere in codice e adoro il binding del modello ng1 della vecchia scuola.
Ho aggiornato il mio esempio e il frm non è noto nel componente.
Ho creato una richiesta di funzionalità su GitHub: https://github.com/angular/angular/issues/8538 – squadwuschel
caso in cui il 'AddUserComponent' essere collocato all'interno della forma come elemento figlio? '
' – Felix