Size: a a a

2018 July 17

🌀

🌀 maktarsis in Angular Kyiv
Решать такую задачу через роутинг не лучшая идея, имхо.
источник

🌀

🌀 maktarsis in Angular Kyiv
Я бы воспользовался sessionStorage
источник

B

BoGy in Angular Kyiv
Сервис не хочу, темболее такие
источник

PP

Petro Prokopovych in Angular Kyiv
Ребят, такой вопрос: как заставить метод canActivate из AuthGuard дождаться значения Subject? через subscribe не работает
источник

G

George in Angular Kyiv
Petro Prokopovych
Ребят, такой вопрос: как заставить метод canActivate из AuthGuard дождаться значения Subject? через subscribe не работает
canActivate() {
return yourSubject.pipe(YOUR_MAGIC_HERE_THAT_TRANSFORM
_SUBJECT_TO_BOOLEAN);
}
источник

PP

Petro Prokopovych in Angular Kyiv
у меня subject и так типа boolean. Проблема в том что canActivate не ждет его значения
источник

V

Vladimir in Angular Kyiv
BoGy
Гайз.
Как запихнуть какие то данные при переходе в роутинге. У меня кейс , нужно перейти на один и тот же роут(ссылка вверху та же самая) но с возможность передать одну стрингу как то. Есть у ActiveRoute params, а есть data : subscriptio. Хочу сделать что то типа routeLink=[....... , data :  { something}]
А в компоненте activeRoute.subscr( data => .....
То есть ты помимо параметров хочешь передавать дополнительные данные?

Одним и предположением было бы добавить ещё один параметр. Только теперь переходить на другой роут, не изменяя урл. То есть внешний роутинг будет работать только с одним параметром. А внутри страницы ты будешь сетить другой при этом не меняя урл.

Ещё одной идеей будет проверить является data. Subject. Там сказано, что но Observable. Но по сути может быть и сабджетом. Но я бы не сильно на это опирался. Ибо если и сработать. То может измениться след релизах
источник

B

BoGy in Angular Kyiv
Как я понял data там сетится из гвардов.
источник

B

BoGy in Angular Kyiv
Чисто отправиться куда то с каким то объектом данных похоже нельзя без всяких прослоек.
источник

B

BoGy in Angular Kyiv
В первом так можно было, а тут похоже нет( ну или пока нет)
источник

B

BoGy in Angular Kyiv
Параметр то ок, но урла сменилась бы либо же делать саб роуты с танцами и редиректами, что тоже не хотелось. Выбрал все же сервис как наименьшее зло.
источник

V

Vladimir in Angular Kyiv
Можно переходить по роутах без смены урла
источник

B

BoGy in Angular Kyiv
Ну пришлось бы допиливать роуты
источник

V

Vladimir in Angular Kyiv
/:param/:anotherParam
источник

V

Vladimir in Angular Kyiv
Если сервис работает, то ок ))
источник

B

BoGy in Angular Kyiv
Та куда денется
источник

B

BoGy in Angular Kyiv
:D
источник

G

George in Angular Kyiv
Petro Prokopovych
у меня subject и так типа boolean. Проблема в том что canActivate не ждет его значения
покажите код
источник

m

maks#dev in Angular Kyiv
Petro Prokopovych
Ребят, такой вопрос: как заставить метод canActivate из AuthGuard дождаться значения Subject? через subscribe не работает
если не ошибаюсь нужно просто возвращать сам самжект и его результат в виде булен
источник

m

maks#dev in Angular Kyiv
Petro Prokopovych
Ребят, такой вопрос: как заставить метод canActivate из AuthGuard дождаться значения Subject? через subscribe не работает
canActivate(
   next: ActivatedRouteSnapshot,
   state: RouterStateSnapshot
 ): Observable<boolean> | Promise<boolean> | boolean {
   return this.someService.someMethodORSubject()
     .pipe(
       filter(Boolean),
       map((data: any) => {
         
         if (true) {
           return true;
         }
         
         return false;
....
источник