Size: a a a

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

2019 October 21

В

Виталий in Angular - русскоговорящее сообщество
Стэковерфлоу говорит что сервисы не синглтоны только в случае если лейзимодули грузят модуль-зависимость у которого в providers указан сервис.
Следовдательно чтобы этого избежать не надо указывать этот сервис в providers, а нужно указать его в forRoot().

https://stackoverflow.com/a/39653824/2179748
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Виталий
Стэковерфлоу говорит что сервисы не синглтоны только в случае если лейзимодули грузят модуль-зависимость у которого в providers указан сервис.
Следовдательно чтобы этого избежать не надо указывать этот сервис в providers, а нужно указать его в forRoot().

https://stackoverflow.com/a/39653824/2179748
а я взял и указал, теперь он не синглтон
источник

IS

Igor Shturmov in Angular - русскоговорящее сообщество
уважаемое сообщество, на каком моменте правильно делать редирект по роуту?

к примеру когда я перехожу на какую то сущность, то мне нужно в этот момент вытянуть с нее id и по нему отправить на правильный роут

когда делаю в гарде, то оно подвисает потому что получается постоянно попадает на роут для редиректа и циклически пытается меня куда то отправить
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Igor Shturmov
уважаемое сообщество, на каком моменте правильно делать редирект по роуту?

к примеру когда я перехожу на какую то сущность, то мне нужно в этот момент вытянуть с нее id и по нему отправить на правильный роут

когда делаю в гарде, то оно подвисает потому что получается постоянно попадает на роут для редиректа и циклически пытается меня куда то отправить
так проблема в том что у тебя зацикленность роутов а не в том что ты в не нужный момент делаешь редирект
источник

IS

Igor Shturmov in Angular - русскоговорящее сообщество
Smooth Operator
так проблема в том что у тебя зацикленность роутов а не в том что ты в не нужный момент делаешь редирект
ну да, но оно так и будет

у меня роутинг что то типа ./user/:id/

под айди есть модуль в котором еще роутинг и на котором сейчас висит гард

в зависимости от typeId я должен прокинуть его к примеру либо на /admin либо на /customer
источник

IS

Igor Shturmov in Angular - русскоговорящее сообщество
Smooth Operator
так проблема в том что у тебя зацикленность роутов а не в том что ты в не нужный момент делаешь редирект
и роут будет ./user/:id/admin к примеру, и конено же он снова попадет в тот гард и вызовет редирект
источник

IS

Igor Shturmov in Angular - русскоговорящее сообщество
вот и вопрос, где еще по красивому и по правильному делать редирект если не в гарде?
источник

IS

Igor Shturmov in Angular - русскоговорящее сообщество
ибо структура роутов я вряд ли поменяю, логика на многом завязана
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Igor Shturmov
ну да, но оно так и будет

у меня роутинг что то типа ./user/:id/

под айди есть модуль в котором еще роутинг и на котором сейчас висит гард

в зависимости от typeId я должен прокинуть его к примеру либо на /admin либо на /customer
ну а где цикл
источник

IS

Igor Shturmov in Angular - русскоговорящее сообщество
Smooth Operator
ну а где цикл
он снова и снова попадает в тот гард
источник

IS

Igor Shturmov in Angular - русскоговорящее сообщество
я так понимаю он проходит по цепочке роутов и попадает в гард который находится в модуле который привязан роуто с :id
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
ничего не понятно
источник

IS

Igor Shturmov in Angular - русскоговорящее сообщество
блин)
источник

IS

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

AS

Anton Shvets in Angular - русскоговорящее сообщество
Igor Shturmov
я так понимаю он проходит по цепочке роутов и попадает в гард который находится в модуле который привязан роуто с :id
В чем проблема? В гарде проверка роута, если не проходит, то редирект на другой роут.
Гард вызывается второй раз, и на этот раз проверка проходит, маршрутизация успешно заканчивается
источник

АГ

Александр Гурьев in Angular - русскоговорящее сообщество
Кто знает как программно проверить значение на соответствие интерфейсу ?
источник

АГ

Александр Гурьев in Angular - русскоговорящее сообщество
if(a instanceof A) ?
источник

IS

Igor Shturmov in Angular - русскоговорящее сообщество
Anton Shvets
В чем проблема? В гарде проверка роута, если не проходит, то редирект на другой роут.
Гард вызывается второй раз, и на этот раз проверка проходит, маршрутизация успешно заканчивается
Что-то типа того, да
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Александр Гурьев
Кто знает как программно проверить значение на соответствие интерфейсу ?
из коробки никак
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
не пойдет, потому что типизация структурная в тс
источник