0
JSONオブジェクトに格納されている値を読み取るはい/いいえラジオボタンがあります。最初に、jsonオブジェクトが空であるかどうか、またはラジオボタンのフィールドがnullであるかどうかを確認します。その場合、私は両方のラジオボタンをチェックしないで表示しています。次に、jsonオブジェクトのフィールドに真の値が表示されているかどうかをチェックしています。イエスの場合はyesラジオボタンをチェックし、同様にfalse値をチェックし、noラジオボタンをチェックします。私はビューで同じまたは同様のコードをたくさん使用しているようだが、私はこれを行うより効率的な方法があるのだろうかと思っていた。私のコードは次のようになります。ありがとう。より効率的な* ngIf条件を使用する方法はありますか
<!-- json array will be empty when first coming to page, display no boxes checked -->
<div *ngIf="(questions | json) === '{}' || questions.partYear == null">
<input type="radio" id="yesRadio" formControlName="partYear" name="partYear" value="yes" [(ngModel)]="questions.partYear">Yes<br/>
<input type="radio" id="noRadio" formControlName="partYear" name="partYear" value="no" [(ngModel)]="questions.partYear">No
</div>
<!-- user comes back to page, populate box that was checked during sesssion -->
<div *ngIf="questions?.partYear === 'yes' || questions?.partYear === true">
<input type="radio" id="yesRadio" formControlName="partYear" name="partYear" value="yes" checked [(ngModel)]="questions.partYear">Yes
</div>
<div *ngIf="questions?.partYear === 'no' || questions?.partYear === false">
<input type="radio" id="yesRadio" formControlName="partYear" name="partYear" value="yes" [(ngModel)]="questions.partYear">Yes
</div>
<div *ngIf="questions?.partYear === 'yes' || questions?.partYear === true">
<input type="radio" id="noRadio" formControlName="partYear" name="partYear" value="no" [(ngModel)]="questions.partYear">No
</div>
<div *ngIf="questions?.partYear === 'no' || questions?.partYear === false ">
<input type="radio" id="noRadio" formControlName="partYear" name="partYear" value="no" checked [(ngModel)]="questions.partYear">No
</div>
[この紹介](https://juristr.com/blog/2016/11/ng2-binding-radiobutton-lists/)で、角度のラジオボタンを参照してください。あなたのコードを改善するための第一歩は、同じ '* ngIf'条件を持つように見えるので、ラジオボタン1と3を1つのdivに、2&4を別のものに移動することです。 –
あなたはngSwitchを使用できます –