@angularBeginner

Как сократить запись при использовании селекторов в шаблоне?

Добрый день
Осваиваю NGRX. Хотел бы посоветоваться, как можно записать более лаконично.

Использую селекторы для получения данных из хранилища
public timePeriodDate$ : Observable<Date> = this.store$.pipe(select(selectCalendarTimePeriodDate));
  public selectedDate$ : Observable<Date> = this.store$.pipe(select(selectCalendarDate));
  public timePeriodMonthInfo$: Observable<any> = this.store$.pipe(select(selectCalendarTimePeriodMonthInfo));
  public currentMonth$: Observable<any> = this.store$.pipe(select(selectCurrentMonth));


и дожидаюсь пока они загрузятся в шаблоне

<ng-container *ngIf="holydays$ | async as holydays">
  <ng-container *ngIf="timePeriodMonthInfo$ | async as info">
          <ng-container *ngIf="timePeriodDate$ | async as timePeriodDate">
                    <ng-container *ngIf="selectedDate$ | async as tSelectedDate">


Все работает, но интуитивно кажется, что это не норм городить такое количество ng-template, тем более, что их может быть и больше.
Прошу подсказать более компактные и адекватные формы записи, если такие есть.
  • Вопрос задан
  • 15 просмотров
Пригласить эксперта
Ответы на вопрос 1
Xuxicheta
@Xuxicheta Куратор тега Angular
инженер
Ну сделай селектор, который всё соберет в один объект, а если чего-то не хватает, то вернет null.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы