Проблема с Ngfor поддерживает привязку только к повторяющимся объектам, таким как массивы

#arrays #string #ngfor #ionic4

#массивы #строка #ngfor #ionic4

Вопрос:

ошибка, поддерживающая объект ‘Active’ типа ‘ string ‘. NgFor поддерживает привязку только к повторяющимся объектам, таким как массивы.

Я пытался сделать так, чтобы каждый раз, когда я нажимаю переключатель, он менял {{ setting }} с неактивного на активный. пытался заставить этот метод работать, если другой не представляется возможным.

код html:

 <ion-item>
    <ion-label>Front Door</ion-label>
    <ion-toggle [(ngModel)]="fdoor" ng-model="ni_toggle" (ionChange)="Fdoor()" (click)="change()"></ion-toggle>
  </ion-item>
 <div *ngFor="let setting of sett">
   {{ setting }}
 </div>
  

ts:

 active: string = "Active"
inactive: string = "Inactive"


change() {
    if(this.fdoor = true) {
      this.sett = this.active
    }
  }
  

Ответ №1:

Я не знаю, какова ваша цель. Но я думаю, вам следует поступить следующим образом:

 sett = false;
change() {
    if(this.fdoor = true) {
      this.sett = !this.sett;
    }
  }
  

HTML

 <ion-item>
    <ion-label>Front Door</ion-label>
    <ion-toggle [(ngModel)]="fdoor" ng-model="ni_toggle" (ionChange)="Fdoor()" (click)="change()"></ion-toggle>
  </ion-item>
 <div>
   {{ sett ? "Active" : "Inactive" }}
 </div>
  

Комментарии:

1. Спасибо! и моя цель в основном заключается в нажатии переключателя включения / выключения, и вывод показывает, включен он или выключен.

2. Тогда, я думаю, вам нужно понять ngFor и ngIf 🙂