我正在开发Angular 5应用程序。我得到了性别的单选按钮,其价值是基于它接收的值预先填充的无线电选择,我需要知道如何在html模板中使用ng-if内联。 GenderType:string其中值1表示男性,2表示女性。
我已经尝试了* ngIf,但它没有成功
<div class="k-form-field">
<span>Gender</span>
<input type="radio" name="gender" id="female" class="k-radio" *ngIf:{{respondent.genderType='1'}} === checked="checked" disabled>
<label class="k-radio-label" for="female">Female</label>
<input type="radio" name="gender" id="male" class="k-radio" disabled>
<label class="k-radio-label" for="male">Male</label>
</div>
答案 0 :(得分:1)
您不需要ngIf来更改属性的值。您只需使用一个javascript块作为条件属性:
<input
type="radio"
name="gender"
id="female"
[attr.checked]="respondent.genderType=='1' ? 'checked' : null" />
另一种选择是以“Angular方式”使用表单,使用ngModel或Reactive Forms。
答案 1 :(得分:1)
假设genderType 1是女性,2是男性,您只需要在checked属性中绑定它。你不需要ngIf。 NgIf用于显示或隐藏html元素。试试这个(我也删除了禁用的属性):
<div class="k-form-field">
<span>Gender</span>
<input type="radio" name="gender" id="female" class="k-radio" [attr.checked]="respondent.genderType === '1' ? 'checked' : null">
<label class="k-radio-label" for="female">Female</label>
<input type="radio" name="gender" id="male" class="k-radio" [attr.checked]="respondent.genderType === '2' ? 'checked' : null">
<label class="k-radio-label" for="male">Male</label>
</div>
答案 2 :(得分:0)
对我有用的最终答案
<div class="k-form-field">
<span>Gender</span>
<input type="radio" name="gender" id="female" class="k-radio" [attr.checked] ="respondent.genderType=='2' ? 'checked' : null" disabled>
<label class="k-radio-label" for="female">Female</label>
<input type="radio" name="gender" id="male" class="k-radio" [attr.checked] ="respondent.genderType=='1' ? 'checked' : null" disabled>
<label class="k-radio-label" for="male">Male</label>
</div>