Size: a a a

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

2020 March 10

IB

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

AT

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

С

Светлана in Angular - русскоговорящее сообщество
Alexey Tuychiev
Не очень понятно в чем разница, вот этот процесс "получить новый массив" не предполагает фильтрации?
Я про это и подумала, что разницы нет, но в старом варианте там брался старый массив слайдов и отправлялся в setSlides, но там был просто массив, я переделываю на набор массивов
источник

С

Светлана in Angular - русскоговорящее сообщество
Igor Bond
а как setSlides работает? принимает массив и соединяет с текущим массивом слайдов?
Да типа того.
источник

IB

Igor Bond in Angular - русскоговорящее сообщество
Светлана
Да типа того.
по идее они отдельно должны работать
источник

IB

Igor Bond in Angular - русскоговорящее сообщество
set добавляет remove удаляет
источник

KV

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

IB

Igor Bond in Angular - русскоговорящее сообщество
Karpov Vladimir
Если ты знаешь наверняка, что тариф закончился, то конечно запрос посылай
да скорее всего так и придется делать - с протухшим тарифом не так уж и много юзеров будет - делать там нечего по сути ибо функции урезанные - выходит что особо нагрузок не будет из-за запросов
источник

Q

Qwerty123 in Angular - русскоговорящее сообщество
Доброго времени суток
источник

Q

Qwerty123 in Angular - русскоговорящее сообщество
Не подскажите, как нормально сделать:
<a *ngFor="let item of data; let i = index" [routerLink]="['statistic', item.id]">

<div class="layout horizontal flex-1 center cell-edit">
   <a [routerLink]="['edit', item.id]">
       <img src="assets/icons/edit.svg" class="edit-icon select-none">
   </a>
</div>
</a>
источник

Q

Qwerty123 in Angular - русскоговорящее сообщество
вложенный link не срабатывает
источник

Q

Qwerty123 in Angular - русскоговорящее сообщество
по его нажатию кидает на statistic
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Qwerty123
вложенный link не срабатывает
попробуй на нем добавить (click)="$event.stopPropagation()"
источник

М

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

Q

Qwerty123 in Angular - русскоговорящее сообщество
Smooth Operator
попробуй на нем добавить (click)="$event.stopPropagation()"
блин, делал так, не срабатывало
видимо была какая-то опечатка или тп
спасибо!
источник

Кm

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

IB

Igor Bond in Angular - русскоговорящее сообщество
Кирилл mrDoode
То есть я могу в локалсторе изменить срок тарифа и просто не разлогиниваться и не закрывать приложение?
да можно изменить, но это сообщение ничего не ограничивает, просто информационное
источник

IB

Igor Bond in Angular - русскоговорящее сообщество
Максим
Извините может я ошибаюсь может на клиенте сохранить?
на клиенте хранится, там есть тонкость когда юзер уже оплатил, вернулся в приложуху, но деньги еще не снялись
а когда платеж пришел Яндекс отправляет запрос на бек, и там тариф меняется,но приложуха об этом не знает
источник

IB

Igor Bond in Angular - русскоговорящее сообщество
но уже решил этот вопрос - данные юзер в локалсторе будут обновлятся напрямую из бд если тариф протухший
источник

IB

Igor Bond in Angular - русскоговорящее сообщество
по событию роута
источник