Size: a a a

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

2020 March 10

AP

Andrey Panasenko in Angular - русскоговорящее сообщество
ускорить отрисовку я никак не могу, там и так уже push стратегия и ручное дерганье changeDetectorRef'а
источник

M

Mixer in Angular - русскоговорящее сообщество
Andrey Panasenko
Всем привет. Народ подскажите, есть ли способ, отобразить какой-нибудь загрузчик, пока компонент не будет отрисован? У меня есть сложный генерируемый компонент с большим шаблоном и он долго отрисовывается, из-за чего на время появляется белый экран на его месте. Отрисовывается он внутри route-outlet
посмотри ngx-loading-bar
источник

AP

Andrey Panasenko in Angular - русскоговорящее сообщество
Mixer
посмотри ngx-loading-bar
он работает до того, как зона отрисуется?
источник

AP

Andrey Panasenko in Angular - русскоговорящее сообщество
На всякий случай подчеркну еще. Мне нужен загрузчик не на данные, а на отрисовку
источник

M

Mixer in Angular - русскоговорящее сообщество
Andrey Panasenko
он работает до того, как зона отрисуется?
угу
источник

AP

Andrey Panasenko in Angular - русскоговорящее сообщество
Mixer
угу
спасибо, гляну
источник

M

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

AP

Andrey Panasenko in Angular - русскоговорящее сообщество
от себя могу сказать, что есть еще классная штука https://gitlab.com/service-work/is-loading
источник

AP

Andrey Panasenko in Angular - русскоговорящее сообщество
асинхронный загрузчик, тоже автоматизированный. У меня в проекте в интерсепторе все запросы содержат в query параметрах ключи загрузчиков и интерсептор их автоматически включает, пока выполняется http запрос
источник

AP

Andrey Panasenko in Angular - русскоговорящее сообщество
но он зона зависимый(
источник

M

Mixer in Angular - русскоговорящее сообщество
Andrey Panasenko
асинхронный загрузчик, тоже автоматизированный. У меня в проекте в интерсепторе все запросы содержат в query параметрах ключи загрузчиков и интерсептор их автоматически включает, пока выполняется http запрос
ngx-loading-bar похоже работает
источник

AP

Andrey Panasenko in Angular - русскоговорящее сообщество
@Mixergun хм, не походу не пойдет
источник

AP

Andrey Panasenko in Angular - русскоговорящее сообщество
у меня как раз так и сделано для этого шаблона
источник

AP

Andrey Panasenko in Angular - русскоговорящее сообщество
это годится только для отображения загрузки при смене маршрута, http реквесте или загрузки каких то данных в уже отрисованном компоненте
источник

M

Mixer in Angular - русскоговорящее сообщество
Andrey Panasenko
это годится только для отображения загрузки при смене маршрута, http реквесте или загрузки каких то данных в уже отрисованном компоненте
хмм...
источник

AP

Andrey Panasenko in Angular - русскоговорящее сообщество
мне в голову приходит только вариант с добавление около router-outlet статичного блока, который будет представлять из себя overlay и на который я буду через ref навешивать opacity: 1. Но это дико
источник

KV

Karpov Vladimir in Angular - русскоговорящее сообщество
Igor Bond
всем привет
Вопрос не в плане кода, а по алгоритму, как бы лучше сделать.
Ситуация такая - есть юзер, у него есть тарифный план, есть срок окончания тарифа который хранится в локалсторе. Срок окончания обновляется при каждом залогивании или при загрузке приложения если юзер залогинен.
Также есть чисто декоративная фича - проверка даты окончания и вывод сообщения на событии роутера в апп компоненте - то есть при каждом переходе на страницу сравнивается текущая дата и дата окончания тарифа и выводится сообщение.
Печаль в том что когда юзер продлил тариф в яндекс кассе - в БД дата окончания тарифа изменилась, но в локалсторейдж еще старая дата  и выходит когда юзер возвращается на сайте после пополнения - сначала срабатывает проверка на событии роутинга, а потом уже обновляется дата протухания тарифа из бд в локалсторе.
как бы его правильно обновлять дату окончания тарифа из бд? ибо бывает что платеж проходит не сразу - может быть и через час - там касса независимо от фронта обновляет дату как только платеж пришел.
не могу же я при каждом событии роутинга делать запрос на сервак, или приемлемо?
Тебе надо сделать Guard, повесить его на все роуты, где доступ только по подписке, и в нем выполнять запрос на проверку подписки. ЧТобы часто не теребить запрос, можно добавить поле, в котором будет проверятся, скажем, сегодня ли истичет подписка. Если сегодня, тогда слать запрос
источник

IB

Igor Bond in Angular - русскоговорящее сообщество
Karpov Vladimir
Тебе надо сделать Guard, повесить его на все роуты, где доступ только по подписке, и в нем выполнять запрос на проверку подписки. ЧТобы часто не теребить запрос, можно добавить поле, в котором будет проверятся, скажем, сегодня ли истичет подписка. Если сегодня, тогда слать запрос
да guard по поему слишком - там всего лишь сообщение нужно выводить, а так страницы доступны, и часть функций тоже - разве это не то же самое что событие на роуте в апп компоненте только без фич guard'a
источник

С

Светлана in Angular - русскоговорящее сообщество
Есть объект Map, в нем айди и галереи слайдов по айди, есть метод setSlides(slides : Slide[]), который принимает массив слайдов и добавляет их. Надо добавить метод removeSlides(slide), который получает слайд и его удаляет. Вопрос, отфильтровать объект Map прямо там или получить новый массив слайдов и отправить в setSlides??
источник

IB

Igor Bond in Angular - русскоговорящее сообщество
Karpov Vladimir
Тебе надо сделать Guard, повесить его на все роуты, где доступ только по подписке, и в нем выполнять запрос на проверку подписки. ЧТобы часто не теребить запрос, можно добавить поле, в котором будет проверятся, скажем, сегодня ли истичет подписка. Если сегодня, тогда слать запрос
с первой проверкой я решил вопрос через переменную - при загрузке приложения сначала идет обновление даты в локалсторе, переменная принимает true и только тогда будет сообщение.
Остался только открытый вопрос - если юзер пополнил тариф - деньги еще не снялись и бд не обновилась - юзер вернулся в приложуху - сообщение еще появляется что он не пополнил счет, но к примеру через 5 минут яндекс касса прислала ответ об удачном пополнении - бд обновилась - но приложуха об этом не знает - и узнает только тогда когда юзер обновит вкладку или перелогинится. как тут быть? может если тариф протухший то тогда проверку даты делать всегда из бд а не с локалстор?
источник