如何解决带有参数的多个路由器插座
我的应用中有三个路由器插座(主要、左侧和聊天)。我只在小屏幕上显示主要出口,所以我想允许在主屏幕和聊天之间切换。为避免显示两次聊天,请在左侧和聊天出口显示空组件。它适用于路线:
const routes: Routes = [
{
path: 'chat',canActivate: [AuthorizationRouteGuard],children: [
{ path: '',loadChildren: './chat/chat.module#ChatModule' },{ path: '',component: EmptyComponent,outlet: 'chat' },outlet: 'left-routing' }
]
},{
path: '',loadChildren: './user/user.module#UserModule' },loadChildren: './chat/chat.module#ChatModule',loadChildren: './vertical-navbar/vertical-navbar.module#VerticalNavbarModule',outlet: 'left-routing' }]
},{ path: '**',redirectTo: '',canActivate: [AuthorizationRouteGuard] },];
我还希望能够从主要出口重定向到具有用户 ID 的聊天出口以开始新的对话。它适用于路线:
const routes: Routes = [
{ path: '',loadChildren: './user/user.module#UserModule',outlet: 'left-routing' },{
path: 'chat',];
然后从具有用户 ID 的主要出口重定向工作,但是当尝试在主要出口中查看聊天本身时,出现错误:“错误:无法激活已激活的出口”。 我使用以下命令从主要重定向到聊天:
this._router.navigate(['',{ outlets: { chat: ['',this.userTodisplay.id ] }}],{ relativeto: null,skipLocationChange: true });
总结一下,我想从主网点重定向到用户id的聊天,然后重定向到'/chat'地址,之后聊天出现在主网点,其他网点为空.一个代码片段做一个,另一个做另一个,但我不知道如何将它们结合起来
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。