I'm guessing that by ngModal you mean ngModel.
"1-which form is best template or modal driven and why ?"
from: http://blog.ng-book.com/the-ultimate-guide-to-forms-in-angular-2/
To create a new ControlGroup and Controls implicitly use:
ngForm
and ngControl
To bind to an existing ControlGroup and Controls use:
ngFormModel
and ngFormControl
Basically one is more convenient but gives you less control, personally I try to use template driven first because its more simple and less code, until it is not enough then I switch to model driven.
2- When to use ngControl and when to use ngModel ?
I don't know if you are mixing concepts here but ngControl and ngModel are not precisely meant to replace each other, ngModel handles the sync between input components and your domain/presentation model while ngControl handles the state of the form based on Validators, dirtiness of the input, etc, more geared towards giving feedback and allowing/stopping the user from submitting an unvalid form.
The ones that could replace each other are the one I mentioned previously in answer 1.
I hope that helps clarify a little bit?
As for the values of checkbox and radios, you only have ngFormControl's on them, add ngModel to map their values into your model. Once again quoting from the same page:
<input type="text" id="productNameInput" placeholder="Product Name" [ngFormControl]="myForm.find('productName')" [(ngModel)]="productName">
You can see that he is using both the ngFormControl
and the ngModel
.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…