Страница не обновляется с обновленной ссылкой в ​​​​адресной строке с идентификатором в angular

В моем угловом приложении я реализовал приложение signalR для взаимодействия вызовов для участников и администратора. на странице администратора (у администратора есть страница участников с профилями)

Поэтому мое требование заключается в том, что когда администратор получает вызов от участников (в основном на странице администратора), он должен показывать конкретную мамбер-страницу каждый раз, когда происходит вызов.

.component.ts

private hubConnection: signalR.HubConnection
  async startConnection() {
    this.hubConnection =    new signalR.HubConnectionBuilder()
         .withUrl(Notifications,{
          skipNegotiation: true,
          transport: signalR.HttpTransportType.WebSockets
         })
         .build();
          await this.hubConnection
         .start()
         .then(() => console.info('Connection started' ))
         .catch(err => console.info('Error while starting connection: ' + err))
   
          this.hubConnection.invoke("RegisterAsync", this.Email)
       
          this.hubConnection.on("CallConnected", (EmailId:string, MemberID:number) => {
          
         if (!(MemberID == 0)){
             this.router.navigate(['./memberPage/' + CallingMembersID]);
          
           }
           else{
            this.router.navigate(['./searchPage']);
            
           }
         
          })
          }

В приведенном выше коде, если администратор находится на других страницах (на странице администратора), он работает правильно, т.е. на основе условия, на котором отображается страница профиля участника.

Но только одно условие не работает, то есть когда администратор уже находится в memberPage, и если условие удовлетворяет, он должен показать другую memberPage с этим конкретным идентификатором, но здесь он показывает обновленный идентификатор участника в адресной строке, но не переходит на страницу к этому конкретная страница.

Я застрял в этом состоянии, только может ли кто-нибудь помочь мне в том же

Попробуйте добавить this.router.routeReuseStrategy.shouldReuseRoute = () => false; в конструктор

tony 17.03.2022 09:37
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
1
23
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Это естественное поведение angular, когда вы пытаетесь перейти по тому же URL-адресу. Вы можете обратиться к этому: Angular — переход к текущему тому же URL-адресу с перезагрузкой компонента, а не всей страницы

Ответ принят как подходящий

Просто добавьте подписку на активированный маршрут, например

в вас component.ts

    constructor(private activatedRoute: ActivatedRoute,....){}
    
    ngOnInit(){
      this.activatedRoute.paramMap.subscribe((params) =>{ params.get('CallingMembersID') // Or however you called this param;
     // Your logic
      }) 
    
    }

Другие вопросы по теме