Size: a a a

Angular - русскоговорящее сообщество

2021 March 24

ВЧ

Владимир Черезов... in Angular - русскоговорящее сообщество
да ладно я в принципе оставлю так как есть, ибо пока что работает тьфу-тьфу
источник

ОС

Олександр Савуловськ... in Angular - русскоговорящее сообщество
Есть такой код:
this.errTable$ = this.reloadErrTable$.pipe(
 startWith(1),
 map(() => ({ isLoading: true })),
 switchMap(() => this.sprService.getErrLogPeriod()),
 map((data) => ({ data, isLoading: false })),
 catchError((err) => of({ isLoading: false, err }))
);

Хочу когда isLoading == true - показывать в шаблоне spinner.
Подскажите почему не работает?
источник

ВЧ

Владимир Черезов... in Angular - русскоговорящее сообщество
Сложная какая конструкция)
источник

ВЧ

Владимир Черезов... in Angular - русскоговорящее сообщество
Как-то бы подробнее на самом деле
источник

ОС

Олександр Савуловськ... in Angular - русскоговорящее сообщество
Владимир Черезов
Как-то бы подробнее на самом деле
Описать цепочку?
источник

ВЧ

Владимир Черезов... in Angular - русскоговорящее сообщество
цепочка понятна
источник

ВЧ

Владимир Черезов... in Angular - русскоговорящее сообщество
в темплейте интересно что
источник

ОС

Олександр Савуловськ... in Angular - русскоговорящее сообщество
Владимир Черезов
в темплейте интересно что
<div *ngIf="errTable$ | async as errTableerrTable">
   {{
errTableerrTable.isLoading isLoading }}
</div>
Для теста вывел
источник

М

Михаил in Angular - русскоговорящее сообщество
Олександр Савуловський
Есть такой код:
this.errTable$ = this.reloadErrTable$.pipe(
 startWith(1),
 map(() => ({ isLoading: true })),
 switchMap(() => this.sprService.getErrLogPeriod()),
 map((data) => ({ data, isLoading: false })),
 catchError((err) => of({ isLoading: false, err }))
);

Хочу когда isLoading == true - показывать в шаблоне spinner.
Подскажите почему не работает?
IsLoading: true никогда не будет.
Оно ведь как работает, срабатывает observable, мапится в isLoading:true, переключает на внутренний через switchMap, маппится в  isLoading:false, data. и на выходе всегда isLoading: false
источник

ОС

Олександр Савуловськ... in Angular - русскоговорящее сообщество
Михаил
IsLoading: true никогда не будет.
Оно ведь как работает, срабатывает observable, мапится в isLoading:true, переключает на внутренний через switchMap, маппится в  isLoading:false, data. и на выходе всегда isLoading: false
Да так и происходит. Как сделать чтобы было IsLoading: true, а потом false? Только через переменную?
источник

М

Михаил in Angular - русскоговорящее сообщество
да, через tap, другого хорошего способа не знаю.
источник

ОС

Олександр Савуловськ... in Angular - русскоговорящее сообщество
Михаил
да, через tap, другого хорошего способа не знаю.
this.errTable$ = this.reloadErrTable$.pipe(
 startWith(1),
 tap(() =>  this.isLoading = true),
 switchMap(() => this.sprService.getErrLogPeriod()),
 tap(() => this.isLoading = false),
);
Так?
источник

М

Михаил in Angular - русскоговорящее сообщество
Олександр Савуловський
this.errTable$ = this.reloadErrTable$.pipe(
 startWith(1),
 tap(() =>  this.isLoading = true),
 switchMap(() => this.sprService.getErrLogPeriod()),
 tap(() => this.isLoading = false),
);
Так?
Да, если не OnPush компонент. Если onPush, то isLoading сделать behaviourSubject и пушить значение через .next()
источник

ОС

Олександр Савуловськ... in Angular - русскоговорящее сообщество
Михаил
Да, если не OnPush компонент. Если onPush, то isLoading сделать behaviourSubject и пушить значение через .next()
Если onPush -  в шаблоне сделать подписку на isLoading?
источник

М

Михаил in Angular - русскоговорящее сообщество
Олександр Савуловський
Если onPush -  в шаблоне сделать подписку на isLoading?
Именно.
<spinner *ngIf="isLoading$ | async"></spinner>
источник

ОС

Олександр Савуловськ... in Angular - русскоговорящее сообщество
Михаил
Именно.
<spinner *ngIf="isLoading$ | async"></spinner>
Ок. Спасибо
источник
2021 March 25

BB

Bogdan Bida in Angular - русскоговорящее сообщество
Ребят, подскажите кейс/пет проект на котором можно норм ngrx разобрать, потыкать
источник

7

7384114837 in Angular - русскоговорящее сообщество
Bogdan Bida
Ребят, подскажите кейс/пет проект на котором можно норм ngrx разобрать, потыкать
да их куча на гитхабе
источник

C☭

Chadwick ☭ in Angular - русскоговорящее сообщество
насколько ОК такая структура проекта? особенно интересует разбивка страниц на модули и разбивка layout на отдельные шаблонные компоненты... есть ли более подходящий best practice?
источник

VV

Vladimir Verbitskiy in Angular - русскоговорящее сообщество
Chadwick ☭
насколько ОК такая структура проекта? особенно интересует разбивка страниц на модули и разбивка layout на отдельные шаблонные компоненты... есть ли более подходящий best practice?
А почему core module лежит в папке components?

Про BP: как то раз смотрел курс на плуралсайте и там чел вещал избегать больших вложенностей и стараться придерживаться flat architecture
источник