Size: a a a

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

2021 April 09

СС

Сергей Стенчев... in Angular - русскоговорящее сообщество
Да
источник

AK

Alex Kulagin 🏡 in Angular - русскоговорящее сообщество
Обычный router.navigate позволяет это сделать
источник

AK

Alex Kulagin 🏡 in Angular - русскоговорящее сообщество
Ну и routerLink соответственно тоже
источник

СС

Сергей Стенчев... in Angular - русскоговорящее сообщество
Я им пользуюсь и пробовал с navigate by url . Судя по логам при роутинге в нём не происходит стадия резолва
источник

AK

Alex Kulagin 🏡 in Angular - русскоговорящее сообщество
А, понял. На самом деле там даже компонент не переинициализируется. Фактически нужно следить за queryParams
источник

AK

Alex Kulagin 🏡 in Angular - русскоговорящее сообщество
Попробуй replaceUrl использовать, но я не уверен что поможет
источник

BB

Bogdan Bida in Angular - русскоговорящее сообщество
А зачем это вообще? Для слежения за параметрами есть  queryParams сабскрипшн из routeActivated
источник

СС

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

AK

Alex Kulagin 🏡 in Angular - русскоговорящее сообщество
источник

BB

Bogdan Bida in Angular - русскоговорящее сообщество
Ну так, поэтому в том же компоненте можно подписаться на изменение параметров, зачем перезапускать компонент тот же?
источник

AK

Alex Kulagin 🏡 in Angular - русскоговорящее сообщество
Ну вот же) можно просто перезапускать резолверы
источник

AK

Alex Kulagin 🏡 in Angular - русскоговорящее сообщество
Причем это для конкретного роута настраивается
источник

КК

Кирилл Кохно... in Angular - русскоговорящее сообщество
Ребята, нужна помощь. Проблема с роутами. Смотрите, у меня есть два роута 1) path="" и  2) path="home". Первоначально у меня загружается роут номер1, ну тут все понятно. Но вот в чем вопрос, мне нужно сделать так, чтобы когда допустим у меня пользователь залогинился, запускался уже не роут 1, а роут 2. Как так сделать? Мне нужно чтобы так работало именно при загрузке сайта. Данные о пользователе я заношу в локальное хранилище, тобишь понять, пользователь залогинился или нет- просто, просто посмотреть наличие локального хранилища, а вот как используя эту инфу перенаправить при запуске, я не понимаю. Может кто помочь?
источник

BB

Bogdan Bida in Angular - русскоговорящее сообщество
Гвардом
источник

КК

Кирилл Кохно... in Angular - русскоговорящее сообщество
да, я его пытаюсь использовать
источник

КК

Кирилл Кохно... in Angular - русскоговорящее сообщество
вот как бы мои роуты. Но не понимаю, как  с помощью его перевести с одного роута на другой

const appRoutes: Routes = [
 { path: '', component: AuthCardComponent, canActivate: [AuthGuard] },
 { path: 'home', component: HomePageComponent},
];

Вот мой гуард
export class AuthGuard implements CanActivate {
 constructor(public firebase: FirebaseService){}
 canActivate(
   route: ActivatedRouteSnapshot,
   state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {
   return localStorage.getItem('user') === null;
 }
}
источник

AF

Alexei Fedorov in Angular - русскоговорящее сообщество
Я не понимаю как сделать плавную подгрузку c @angular/cdk/scrolling .

В декораторе компонента я должен указать changeDetection: ChangeDetectionStrategy.OnPush

Вот такой кейс:
- я показываю первые  20 элементов в виртуальном скролле
- скроллю до низа (через событие scrolledIndexChange - я ловлю этот момент)
- подружаю новые 20 элементов и подставляю новый смержанный массив элементов виртуальному скроллеру (потому что ChangeDetectionStrategy.OnPush - иначе он не заметит обновления в массиве)
- я получаю результат - скроллтаб в виртуальном скролле устанавливается снова в начальной точке (верх).

Получается я должен сам пересчитать и указать скроллтабу где должен он встать? Я вообще правильно двигаюсь с функционалом @angular/cdk/scrolling ?
источник

AF

Alexei Fedorov in Angular - русскоговорящее сообщество
Наследование?
источник

AF

Alexei Fedorov in Angular - русскоговорящее сообщество
Я обычно наследую один гуард от другого - и если надо обращаюсь к функциям родителя.
источник

КК

Кирилл Кохно... in Angular - русскоговорящее сообщество
ох, буду разбираться, я просто с ректа на angular иду, а тут это ООП, хахах
источник