获取URL参数ActivatedRoute Angular

获取URL参数ActivatedRoute Angular,angular,angular-ui-router,Angular,Angular Ui Router,在我的应用程序中,为了让我知道导航路线中有一个参数,我需要配置此路线 我有一个不应该在中呈现的组件 此组件是位于屏幕角落的面板,用于发送和接收消息 const routes: Routes = [ { path: 'chatView/:contactId', component: ChatPanelComponent, resolve: { chat: ChatPanelService },

在我的应用程序中,为了让我知道导航路线中有一个参数,我需要配置此路线

我有一个不应该在
中呈现的组件

此组件是位于屏幕角落的面板,用于发送和接收消息

const routes: Routes = [
    {
        path: 'chatView/:contactId',
        component: ChatPanelComponent,
        resolve: {
            chat: ChatPanelService
        },
        canLoad: [GuardService],
    },
];
以这种方式在屏幕中央渲染我的组件,我不希望发生这种情况。

在我配置的模块中,当我使用
“chatView/:contactId”
访问路由时,我收到一个参数,以在加载应用程序时返回该联系人的数据

在我的组件中:

    ngOnInit(): void {

        this._activatedRoute.params.subscribe((params: any) => {
            if (params.contactId){
               this._chatPanelService.getContato(params.contactId).then((contact) => {
                   this.toggleChat(contact);
               });
            }
        });
}
我想知道是否有一种方法可以获得此参数,而不必在
输出中渲染此组件,因为此组件在屏幕的一角可见,因此在我的应用程序中渲染该组件两次


我需要一种方法来获取参数,而不必在应用程序根屏幕的中心呈现组件。

让我们假设这一切都发生在组件“Dashboard”(或父组件的任何名称)中, 您将创建两条管线,都指向“DashboardComponent”

那你就用你的

this._activatedRoute.params.subscribe

读取联系人id参数的代码

只是一个猜测。。。看起来更像是设计错误,而不是路由问题。你真正想解决的问题是什么?也许你点击某个地方,面板应该加载数据/打开?我在屏幕左角有一个组件,它是我应用程序的信使。。。当我运行localhost:4200/chatView/contactId路由时,它应该在Messenger打开的情况下启动应用程序。此Messenger组件加载在HTML中。
this._activatedRoute.params.subscribe