* Функция ngIf вызывается бесконечно

В моем компоненте я перебираю список, который я получил из состояния хранилища ngRx:

<div class="employees-component">
  <div *ngFor="let employee of users">
    <div *ngIf="canShowEmployee(employee)">
      <span>{{ employee.firstName }} {{ employee.lastName }}</span>
    </div>
  </div>
</div>

Мой список пользователей поступает асинхронно из состояния ngRx в ngInit:

  ngOnInit() {
    this.store.pipe(select( state => state.slotAssignment.users))
      .subscribe((users: IUser[]) => {
        this.users = users;
      });
  } 

Я ожидаю, что функция "canShowEmployee" будет работать только при обновлении state.users. Вместо этого он работает бесконечно и зависает на странице.

(список пользователей обновляется в магазине в результате вызова API get, который запускается только один раз при загрузке страницы).

Кто-нибудь может посоветовать?


person Yaron    schedule 28.04.2019    source источник
comment
Не используйте функции в привязках. ваша функция будет вызываться в каждом цикле обнаружения изменений. а angular запускает x2 цикла в режиме разработки.   -  person Vikas    schedule 28.04.2019
comment
Вы можете добавить код canShowEmployee(employee).   -  person arun kumar    schedule 28.04.2019
comment
Для отладки я установил для canShowEmployeeCode значение: console.log('running function canshowemployee'); вернуть истину;   -  person Yaron    schedule 28.04.2019