获取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