我有一个带有模板的表单,用于创建新表单或加载和编辑现有表单。我已经将数据绑定应用于单选按钮字段集,以根据来自数据库的数据进行切换。在这样做时,用于切换其他div可见性的* ngIf由于某种原因不再起作用。
之前(可见性切换工作):
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="breadcrumb">
<a class="breadcrumb-element" href="#" title="Go to Sale">Sale</a>
<a class="breadcrumb-element" href="#" title="Go to Accessories">Accessories</a>
<a class="breadcrumb-element" href="#" title="Go to Scarves">Scarves</a>
</div>
<br><br><br><br>
<p class="text22"></p>
之后(数据绑定有效,但可见性切换不起作用):
<div class="col-xs-12 col-sm-12">
<fieldset>
<input type="radio" formControlName="specificPilot" value="1" [ngClass]="{'td-radio-error': displayMessage.specificPilot}" (check)="radioSetValidator(changeForm.get('generalQuestionsFG.specificPilot'),[changeForm.get('generalQuestionsFG.pilotTransits')])">Yes
<input type="radio" formControlName="specificPilot" value="0" [ngClass]="{'td-radio-error': displayMessage.specificPilot}" (check)="radioSetValidator(changeForm.get('generalQuestionsFG.specificPilot'),[changeForm.get('generalQuestionsFG.pilotTransits')])">No
{{this.changeForm.get('generalQuestionsFG.specificPilot').value}}
</fieldset>
</div>
<div class="col-xs-12 col-sm-12">
<textarea class="form-control" rows="2" formControlName="pilotTransits" style="width:100%" placeholder="Provide Transits for Pilot(s)"
*ngIf="changeForm.get('generalQuestionsFG.specificPilot').value==='1'"></textarea>
</div>
有人能够解释为什么* ngIf检查单选按钮控件的值不再有效吗?我添加了stubcode以检查值是否正确更改并且是。
答案 0 :(得分:3)
当您执行<input value="1">
时,该值将为字符串"1"
。
当您执行<input [value]="1">
时,该值将为数字1
。
您正在与严格的平等进行比较,因此它会中断。