Size: a a a

2020 October 22

RD

Roman Danyliv in Angular Kyiv
Поможіть зрозуміти чому повертає undefined
або як по інакшому прописати кнопку для слайдера
 photos: Observable<Picture[]>;
 onNextClickPhoto() {
   const next = this.currentPhotoSlide + 1;
   let a;
   // повертає undefined
   this.photos.subscribe(res => { a = res.length; });
   this.currentPhotoSlide = next === a ? 0 : next;
 }
источник

IS

Igor Shturmov in Angular Kyiv
Alex Okrushko
Встречный вопрос - почему бы не пустить сразу? Если данные есть - отлично, показываем. Если их нет, по показать спиннер или ghost elements или еще какой-нибудь способ "лоадинга", а в это время подтянуть данные?
в принципе - я тоже согласен с этим, и даже дмал за это
источник

AO

Alex Okrushko in Angular Kyiv
- я лично резолверы вообще не использую
- гарды использую только в случае, когда я могу вообще не пустить на раут
источник

AO

Alex Okrushko in Angular Kyiv
гарды и резолверы - они UI blocking - не очень подходит того, чтобы у юзера оставались хорошие впечатления от аппы
источник

AO

Alex Okrushko in Angular Kyiv
Roman Danyliv
Поможіть зрозуміти чому повертає undefined
або як по інакшому прописати кнопку для слайдера
 photos: Observable<Picture[]>;
 onNextClickPhoto() {
   const next = this.currentPhotoSlide + 1;
   let a;
   // повертає undefined
   this.photos.subscribe(res => { a = res.length; });
   this.currentPhotoSlide = next === a ? 0 : next;
 }
потому что внутри this.photos.subscribe код будет вызван асинхронно, и к моменту next === a сам a еще не задан
источник

IS

Igor Shturmov in Angular Kyiv
Alex Okrushko
гарды и резолверы - они UI blocking - не очень подходит того, чтобы у юзера оставались хорошие впечатления от аппы
спасибо, возможно я и правда лучше прикручу какой то красивый спиннер
источник

IS

Igor Shturmov in Angular Kyiv
Alex Okrushko
- я лично резолверы вообще не использую
- гарды использую только в случае, когда я могу вообще не пустить на раут
а где дергаешь экшены за данными, в самой компоненте?
источник

AO

Alex Okrushko in Angular Kyiv
да - исключительно в компонентах
источник

AO

Alex Okrushko in Angular Kyiv
(ну и в эффектах, само собой :) )
источник

RD

Roman Danyliv in Angular Kyiv
Alex Okrushko
потому что внутри this.photos.subscribe код будет вызван асинхронно, и к моменту next === a сам a еще не задан
А как иначе получить длину аррея?
источник

IS

Igor Shturmov in Angular Kyiv
Alex Okrushko
да - исключительно в компонентах
окей, спасибо 🙂
источник

AO

Alex Okrushko in Angular Kyiv
Roman Danyliv
А как иначе получить длину аррея?
самое банальное решение:
this.photos.subscribe(res => {
  a = res.length;
  this.currentPhotoSlide = next === a ? 0 : next;
});
источник

AO

Alex Okrushko in Angular Kyiv
но я бы так не делал все равно - я люблю реактивность, но это долгая история :)
источник

RD

Roman Danyliv in Angular Kyiv
Alex Okrushko
но я бы так не делал все равно - я люблю реактивность, но это долгая история :)
Мне больше в голову ничего не пришло) а ставить готовые либы для таких целей нелюблю, мало кастомизации, спасибо
источник

M

Malikov in Angular Kyiv
Alex Okrushko
- я лично резолверы вообще не использую
- гарды использую только в случае, когда я могу вообще не пустить на раут
плюсплюс
источник

IF

Igor Filippov in Angular Kyiv
резолверы просто не для того чтобы там запросы делать, ну это я так думаю
источник

AO

Alex Okrushko in Angular Kyiv
Roman Danyliv
Мне больше в голову ничего не пришло) а ставить готовые либы для таких целей нелюблю, мало кастомизации, спасибо
Мало кастомизации? 😳
источник

RD

Roman Danyliv in Angular Kyiv
Alex Okrushko
Мало кастомизации? 😳
Вот к примеру ng-image-slider, как настроить расположение тех таки стрелок? один гемор. А может я ошибаюсь потому что я дно)
источник

AO

Alex Okrushko in Angular Kyiv
Roman Danyliv
Вот к примеру ng-image-slider, как настроить расположение тех таки стрелок? один гемор. А может я ошибаюсь потому что я дно)
А, ясно. Кастомизации в ui либах.
источник

Sergey Фrolov in Angular Kyiv
Alex Okrushko
А, ясно. Кастомизации в ui либах.
Я думал для ui лучше уже сразу брать ComponentStore
источник