Ошибка получения с использованием ngFor и ngIf в Angulsrjs2 и Ionic 2

0

MemberArray - это массив с некоторыми значениями. Я должен проверить, присутствует ли в массиве event.listDetails.accessId или нет. Если accessId не существует в массиве, тогда карточка события не должна печатать

<ion-list *ngSwitchCase="'joined'">
            <event-card *ngIf="event.listDetails.accessId in joinedArray " ></event-card>
    </ion-list>

ошибка:

ИСКЛЮЧЕНИЕ: Ошибка: нечистота (в обещании): ошибки разбора шаблона: привязка свойств ngIfIn не используется какой-либо директивой для встроенного шаблона. Убедитесь, что имя свойства написано правильно, и все директивы перечислены в разделе "директивы". ("ключи e" и я должен проверить, присутствует ли он в массиве или нет.) suggest--> → [ERROR ->] "): EventListComponent @31:12

Теги:
ionic-framework
arrays
ionic2

1 ответ

0

Вместо того, чтобы включить эту логику в ваш взгляд, вы можете просто создать свойство в компоненте следующим образом:

public showCard: bool;

// In the constructor or somewhere else
//...
this.showCard = joinedArray.indexOf(event.listDetails.accessId) > -1;
// ...

И тогда в представлении:

<ion-list *ngSwitchCase="'joined'">
  <event-card *ngIf="showCard"></event-card>
</ion-list>

Таким образом, мы все упрощаем, представление просто заботится о том, чтобы показывать или скрывать вещи, а код компонента решает, следует ли это показывать или нет.

Также обратите внимание, что я использовал метод indexOf() (Reference), чтобы узнать, содержит ли массив это значение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню