169 похожих чатов

Всем привет Подскажите такую вещь, делаю router.navigate([], {

queryParamsHandling: 'merge',
queryParams: {
pageSize: pageSize ?? this.paginationConfig.itemsPerPage,
page: page,
sortDir: sortDir,
sortBy: sortBy,
},
relativeTo: this._route,
})

И есть подписка на _route.queryParamMap

Но если при navigate происходит редирект на те же queryParams что и сейчас в снапшоте то в подписку не приходит эвент
Как можно отследить это? Чтобы повторно вызвать некоторые методы, например для обновления данных в таблице

12 ответов

18 просмотров

добавьте параметр, например текущее время

Денис-Писаренко Автор вопроса
Smooth Operator
добавьте параметр, например текущее время

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

Денис Писаренко
звучит не очень Вообще нужно это для того чтобы ес...

в таком сценарии у тебя приложение же перезапустится

Денис-Писаренко Автор вопроса
Smooth Operator
в таком сценарии у тебя приложение же перезапустит...

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

Денис Писаренко
Ну тут имеется ввиду что если напрмер один пользов...

в таком случае у него загрузится новое приложение и при старте запустится твой метод

Вы сами ответили на свой вопрос, просто не осознали, если вам 6адо не только на каком реагировать но и на навигацию, добавьте и эту подписку

Денис Писаренко
Ну тут имеется ввиду что если напрмер один пользов...

Хотя в этом случае подписка на навигацию я так понимаю тоже не поможет

Денис-Писаренко Автор вопроса
Sergei Vakhrushev
Вы сами ответили на свой вопрос, просто не осознал...

Так она же есть this._route.queryParamMap Тут есть одно но При инициализации компонента должны пройти подготовки определенные и метод в подписке вызывается только тогда, когда эти подготовки прошли После всех этих подготовок у меня и происходит navbigate И получается при обновлении страницы или вставке вручную ссылки Сначала отрабатывает подписка а потом только происходит navigate, но из-за того что queryParams одинаковые, в подписку эвент не приходит

ты можешь сделать сервис и там ждать окончания event instanceof ActivationStart и запрашивать свои данные из реста и у тя все будет в одном месте просто шарить эти данные через Subject так как не всегда в роуте будут эти параметры, но кэш иметь нужно ранее который был загружен, даже наверное behavor тут подойдет, ябехавер юзаю

Денис-Писаренко Автор вопроса
IL'shat Khamitov
screenshot ты можешь сделать сервис и там ждать окончания ev...

Да можно и так, но действительно решил не париться и пока во 2 пункте делаю то же что и в 4

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта