如何在 ngFor 中更改对象的属性?

How to change the atributte of an object in ngFor?

我开始研究angular遇到了以下情况:

<div class="container mt-5 mb-5">
    <h3>What is the disease?</h3>
    <div class="container" >
        <div class='col-2' *ngFor="let disease of diseases;let i= index"> 
              <div class="form-check">
                  <input type="checkbox" class="form-check-input"  [(ngModel)]="paciente.disease" name="inlinecheckbox{{i}}" id="inlinecheckbox{{i}}" >
                  <label class="form-check-label" for="inlinecheckbox{{i}}">{{disease}}</label>
                </div>
        </div>
       <p *ngIf="pacient.disease==true && disease=='fever'">
          <input type="radio" name="high">High Fever
          <input type="radio" name="Average">Average Fever
          <input type="radio" name="low">Low Fever
       </p>
    </div>
  </div>

基本上我正在尝试 checkbox 每种疾病,每次单击我都会更改患者相应属性中的值并打开另一个对话框树。

这是class的控件:

patient:Patient; 
diseases=["fever","faintness","tiredness"];

这就是模型:

export class Patient{
  fever:boolean
  faintness:boolean
  tiredness:boolean
}

正如我现在所做的,每次我点击一个选项时,所有选项都会被标记。如何解决,是否可以按照我下面的方式解决?

我会试试这个:

<div class="container mt-5 mb-5">
    <h3>What is the disease?</h3>
    <div class="container" >
        <div class='col-2' *ngFor="let disease of diseases;let i= index"> 
              <div class="form-check">
                  <input type="checkbox" class="form-check-input"  [(ngModel)]="patient[disease]" name="inlinecheckbox{{i}}" id="inlinecheckbox{{i}}" >
                  <label class="form-check-label" for="inlinecheckbox{{i}}">{{disease}}</label>
                </div>
        </div>
       <p *ngIf="patient[disease]==true && disease=='fever'">
          <input type="radio" name="high">High Fever
          <input type="radio" name="Average">Average Fever
          <input type="radio" name="low">Low Fever
       </p>
    </div>
  </div>

您的 class 中没有 disease 属性,您可能想要 patient[disease]

例如,如果 diseasesdisease 等于 'fever',那么您对布尔变量的调用将是 patient['fever'],这与 patient[disease] 相同,并且这与 patient.fever

相同