otro - pasar parametros entre componentes angular 4
¿Cómo vincular correctamente los datos a los botones de radio en Angular2? (1)
Esto es trabajos en mi caso. Elimino [(ngModel)]
<div class="radio">
<label>
<input type="radio"
value="1"
[checked]="model.ForeignCompany.ProfitCode === 1"
id="point1"
(change)="onProfitSelectionChange(1)"
name="ProfitCode"><small>description</small>
</label>
</div>
<div class="radio">
<label>
<input type="radio"
value="2"
[checked]="model.ForeignCompany.ProfitCode === 2"
id="point2"
(change)="onProfitSelectionChange(2)"
name="ProfitCode"><small>description</small>
</label>
</div>
</div>
y el método TS se ve así:
onProfitSelectionChange(entry): void {
this.model.ForeignCompany.ProfitCode = entry;
}
Tengo un componente con dos botones de radio que HTML look like
<div class="btn-group" id="ProfitCodes">
<div class="radio">
<label>
<input type="radio"
class="radio-inline"
value="1"
[checked]="model.ForeignCompany.ProfitCode === 1"
[(ngModel)]="model.ForeignCompany.ProfitCode"
id="point1"
name="ProfitCode"><small>description</small>
</label>
</div>
<div class="radio">
<label>
<input type="radio"
class="radio-inline"
[(ngModel)]="model.ForeignCompany.ProfitCode"
[checked]="model.ForeignCompany.ProfitCode === 2"
value="2"
id="point2"
name="ProfitCode"><small>description</small>
</label>
</div>
</div>
Cuando hago clic en guardar y enviar modelo al servidor, veo el valor seleccionado válido del botón de opción en el lado del servidor. Y este valor almacenado en la base de datos sin errores. Pero el botón de radio con el valor apropiado no se comprueba después de los datos vinculantes. En devTools veo el primer botón de selección:
<input class="radio-inline ng-untouched ng-pristine ng-valid" id="point1" name="ProfitCode" title="asdasda" type="radio" value="1" ng-reflect-name="ProfitCode" ng-reflect-value="1" ng-reflect-model="2" ng-reflect-checked="false">
Segundo botón de radio:
<input class="radio-inline ng-untouched ng-pristine ng-valid" id="point2" name="ProfitCode" title="asd" type="radio" value="2" ng-reflect-name="ProfitCode" ng-reflect-value="2" ng-reflect-model="2" ng-reflect-checked="true">
Veo que los atributos angulares cambiados y esperando ese segundo botón de radio serán marcados. Pero esto no sucede. ¿Qué estoy haciendo mal?