问题描述
我的应用中有三个路由器插座(主要、左侧和聊天)。我只在小屏幕上显示主要出口,所以我想允许在主屏幕和聊天之间切换。为避免显示两次聊天,请在左侧和聊天出口显示空组件。它适用于路线:
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 (将#修改为@)