页面未使用更新后的地址栏 link 刷新,id 在 angular 中

Page is not refreshing with the updated address bar link with id in angular

在我的 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.log('Connection started' ))
         .catch(err => console.log('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 中时,如果条件满足,它必须显示具有该特定 ID 的另一个 memberPage,但这里它在地址栏中显示更新的成员 ID,但不是将页面导航到该特定页面。

我陷入了这种情况,只有任何人能帮助我解决同样的问题

当您尝试导航到 url 时,这是 angular 的自然行为。你可以参考这个:

只需添加一个订阅到activatedRoute like

在你里面component.ts

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