<div id="resort-data"
ngModelGroup="resortData"
#resortData="ngModelGroup">
<div class="row">
<div class="text">Kod resortowy I:</div>
<div class="data">
<underline-input id="resI"
#resI="ngModel"
[(ngModel)]="thispany.i_kod"
name="resI" placeholder="Kod resortowy I"
[ngModelOptions]="{standalone: true}">
</underline-input>
</div>
</div>
</div>
If I use [ngModelOptions]="{standalone: true}"
input and
{{f.value | json}}
[ngModelOptions]="{standalone: true}"
that "resortData": { "resI": "valueFromInput" } }
form is working and validation also working fine
why this is happening ?
<div id="resort-data"
ngModelGroup="resortData"
#resortData="ngModelGroup">
<div class="row">
<div class="text">Kod resortowy I:</div>
<div class="data">
<underline-input id="resI"
#resI="ngModel"
[(ngModel)]="this.pany.i_kod"
name="resI" placeholder="Kod resortowy I"
[ngModelOptions]="{standalone: true}">
</underline-input>
</div>
</div>
</div>
If I use [ngModelOptions]="{standalone: true}"
input and
{{f.value | json}}
[ngModelOptions]="{standalone: true}"
that "resortData": { "resI": "valueFromInput" } }
form is working and validation also working fine
why this is happening ?
Share
Improve this question
edited Sep 4, 2017 at 11:43
Max Koretskyi
106k68 gold badges353 silver badges516 bronze badges
asked Sep 4, 2017 at 11:30
Walter WhiteWalter White
1,0244 gold badges14 silver badges34 bronze badges
1 Answer
Reset to default 4The standalone:true
option means that ngModel
directive should not register the formControl
it creates within the wrapping formGroup
. Here is the relevant sources from the ngModel
directive:
export class NgModel extends NgControl implements OnChanges,
...
private _setUpControl(): void {
this._setUpdateStrategy();
this._isStandalone() ? this._setUpStandalone() :
this.formDirective.addControl(this); <--- is not called
this._registered = true;
}
Hence if you try to output all form controls here:
{{f.value | json}}
the form doesn't contain the control you pass as standalone.