首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:未激活(承诺):错误:无法激活已激活的出口

错误:未激活(承诺):错误:无法激活已激活的出口
EN

Stack Overflow用户
提问于 2020-06-02 12:09:45
回答 1查看 683关注 0票数 0

我用的是角8

我的路由定义如下

app-routing.module.ts

代码语言:javascript
复制
const appRoutes: Routes = [
  {
    path: '',
    loadChildren: () => import('./@shared/layouts/dashboard-layout/dashboard-layout.module').then(m => m.DashboardLayoutModule)
  },
  {
    path: '',
    loadChildren: () => import('./@shared/layouts/auth-layout/auth-layout.module').then(m => m.AuthLayoutModule),
  },
  {path: '404', component: NotFoundComponent},
  {path: '**', redirectTo: '/404'}
];

@NgModule({
  imports: [RouterModule.forRoot(appRoutes)],
  exports: [RouterModule]
})
export class AppRoutingModule {}

DashboardLayoutModule ->仪表板-layout.routing.ts

代码语言:javascript
复制
const routes: Routes = [
  {
    path: '', redirectTo: 'qr/create', pathMatch: 'full',
  },
  {
    path: 'qr', redirectTo: 'qr/create', pathMatch: 'full'
  },
  {
    path: '', component: DashboardLayoutComponent, children: [
      {
        path: 'settings', loadChildren: () => import('../../../views/settings/settings.module').then(m => m.SettingsModule),
        canActivate: [AuthGuardService]
      },
      {
        path: 'qr/create', loadChildren: () => import('../../../views/create-qr/create-qr.module').then(m => m.CreateQrModule)
      },
      {
        path: 'qr/create/:id/', loadChildren: () => import('../../../views/create-qr/create-qr.module').then(m => m.CreateQrModule)
      },
      {
        path: 'qr', loadChildren: () => import('../../../views/designer/designer.module').then(m => m.DesignerModule)
      },
      {
        path: 'qr', loadChildren: () => import('../../../views/qr/qr.module').then(m => m.QrModule)
      },
      {
        path: 'analytics', loadChildren: () => import('../../../views/analytics/analytics.module').then(m => m.AnalyticsModule),
        canActivate: [AuthGuardService]
      },
      {
        path: 'leads', loadChildren: () => import('../../../views/leads/leads.module').then(m => m.LeadsModule),
        canActivate: [AuthGuardService]
      },
      {
        path: 'profile', loadChildren: () => import ('../../../views/profile/profile.module').then(m => m.ProfileModule),
        canActivate: [AuthGuardService]
      },
      {
        path: 'support', loadChildren: () => import ('../../../views/support/support.module').then(m => m.SupportModule)
      },
      {
        path: 'subscription', loadChildren: () => import ('../../../views/subscription/subscription.module').then(m => m.SubscriptionModule),
        canActivate: [AuthGuardService]
      }
    ]
  },
];

@NgModule({
  imports: [
    RouterModule.forChild(routes)
  ]
})
export class DashboardLayoutRouting {
}

当生产建立在本地,甚至在开发中,一切都很好。但是在生产服务器上,导航不能正常工作并导致错误。

代码语言:javascript
复制
ERROR Error: Uncaught (in promise): Error: Cannot activate an already activated outlet
Error: Cannot activate an already activated outlet
    at vn.activateWith (main-es2015.8496fab846e7208312ae.js:formatted:38396)
    at _e.activateRoutes (main-es2015.8496fab846e7208312ae.js:formatted:36807)
    at main-es2015.8496fab846e7208312ae.js:formatted:36766
    at Array.forEach (<anonymous>)
    at _e.activateChildRoutes (main-es2015.8496fab846e7208312ae.js:formatted:36765)
    at _e.activateRoutes (main-es2015.8496fab846e7208312ae.js:formatted:36811)
    at main-es2015.8496fab846e7208312ae.js:formatted:36766
    at Array.forEach (<anonymous>)
    at _e.activateChildRoutes (main-es2015.8496fab846e7208312ae.js:formatted:36765)
    at _e.activate (main-es2015.8496fab846e7208312ae.js:formatted:36711)
    at o.project (main-es2015.8496fab846e7208312ae.js:formatted:37865)
    at o._next (main-es2015.8496fab846e7208312ae.js:formatted:38949)
    at o.next (main-es2015.8496fab846e7208312ae.js:formatted:717)
    at l._next (main-es2015.8496fab846e7208312ae.js:formatted:42254)
    at l.next (main-es2015.8496fab846e7208312ae.js:formatted:717)
    at o._next (main-es2015.8496fab846e7208312ae.js:formatted:38953)
    at o.next (main-es2015.8496fab846e7208312ae.js:formatted:717)
    at c.notifyNext (main-es2015.8496fab846e7208312ae.js:formatted:31944)
    at i._next (main-es2015.8496fab846e7208312ae.js:formatted:538)
    at i.next (main-es2015.8496fab846e7208312ae.js:formatted:717)
    at o._next (main-es2015.8496fab846e7208312ae.js:formatted:38953)
    at o.next (main-es2015.8496fab846e7208312ae.js:formatted:717)
    at t._subscribe (main-es2015.8496fab846e7208312ae.js:formatted:39462)
    at t._trySubscribe (main-es2015.8496fab846e7208312ae.js:formatted:22325)
    at t.subscribe (main-es2015.8496fab846e7208312ae.js:formatted:22317)
    at s.call (main-es2015.8496fab846e7208312ae.js:formatted:38936)
    at t.subscribe (main-es2015.8496fab846e7208312ae.js:formatted:22317)
    at o (main-es2015.8496fab846e7208312ae.js:formatted:30375)
    at c._innerSub (main-es2015.8496fab846e7208312ae.js:formatted:31927)
    at c._next (main-es2015.8496fab846e7208312ae.js:formatted:31919)
    at c.next (main-es2015.8496fab846e7208312ae.js:formatted:717)
    at c.notifyNext (main-es2015.8496fab846e7208312ae.js:formatted:31944)
    at i._next (main-es2015.8496fab846e7208312ae.js:formatted:538)
    at i.next (main-es2015.8496fab846e7208312ae.js:formatted:717)
    at o._next (main-es2015.8496fab846e7208312ae.js:formatted:38953)
    at o.next (main-es2015.8496fab846e7208312ae.js:formatted:717)
    at l._next (main-es2015.8496fab846e7208312ae.js:formatted:42254)
    at l.next (main-es2015.8496fab846e7208312ae.js:formatted:717)
    at c.notifyNext (main-es2015.8496fab846e7208312ae.js:formatted:512)
    at i._next (main-es2015.8496fab846e7208312ae.js:formatted:538)
    at i.next (main-es2015.8496fab846e7208312ae.js:formatted:717)
    at o._next (main-es2015.8496fab846e7208312ae.js:formatted:38953)
    at o.next (main-es2015.8496fab846e7208312ae.js:formatted:717)
    at w._complete (main-es2015.8496fab846e7208312ae.js:formatted:35438)
    at w.complete (main-es2015.8496fab846e7208312ae.js:formatted:725)
    at H._complete (main-es2015.8496fab846e7208312ae.js:formatted:739)
    at H.complete (main-es2015.8496fab846e7208312ae.js:formatted:725)
    at c._complete (main-es2015.8496fab846e7208312ae.js:formatted:508)
    at complete (main-es2015.8496fab846e7208312ae.js:formatted:725)
    at t._subscribe (main-es2015.8496fab846e7208312ae.js:formatted:39463)
    at v (polyfills-es2015.7cc86a7ad57851d5c4e3.js:1)
    at v (polyfills-es2015.7cc86a7ad57851d5c4e3.js:1)
    at polyfills-es2015.7cc86a7ad57851d5c4e3.js:1
    at a.invokeTask (polyfills-es2015.7cc86a7ad57851d5c4e3.js:1)
    at Object.onInvokeTask (main-es2015.8496fab846e7208312ae.js:formatted:12546)
    at a.invokeTask (polyfills-es2015.7cc86a7ad57851d5c4e3.js:1)
    at s.runTask (polyfills-es2015.7cc86a7ad57851d5c4e3.js:1)
    at _ (polyfills-es2015.7cc86a7ad57851d5c4e3.js:1)

<router-outlet></router-outlet>在两个文件中

  • app.component.html
  • dashboard-layout.component.html
EN

回答 1

Stack Overflow用户

发布于 2020-06-02 12:20:04

所需更改:-

DashboardLayoutModule ->仪表板-layout.routing.ts

代码语言:javascript
复制
const routes: Routes = [
  {
    path: '', component: DashboardLayoutComponent, children: [
      {
         path: '', redirectTo: 'qr/create', pathMatch: 'full',
      },
      {
         path: 'qr', redirectTo: 'qr/create', pathMatch: 'full'
      }
      {
        path: 'settings', loadChildren: () => import('../../../views/settings/settings.module').then(m => m.SettingsModule),
        canActivate: [AuthGuardService]
      },
      {
        path: 'qr/create', loadChildren: () => import('../../../views/create-qr/create-qr.module').then(m => m.CreateQrModule)
      },
      {
        path: 'qr/create/:id/', loadChildren: () => import('../../../views/create-qr/create-qr.module').then(m => m.CreateQrModule)
      },
      {
        path: 'qr', loadChildren: () => import('../../../views/designer/designer.module').then(m => m.DesignerModule)
      },
      {
        path: 'qr', loadChildren: () => import('../../../views/qr/qr.module').then(m => m.QrModule)
      },
      {
        path: 'analytics', loadChildren: () => import('../../../views/analytics/analytics.module').then(m => m.AnalyticsModule),
        canActivate: [AuthGuardService]
      },
      {
        path: 'leads', loadChildren: () => import('../../../views/leads/leads.module').then(m => m.LeadsModule),
        canActivate: [AuthGuardService]
      },
      {
        path: 'profile', loadChildren: () => import ('../../../views/profile/profile.module').then(m => m.ProfileModule),
        canActivate: [AuthGuardService]
      },
      {
        path: 'support', loadChildren: () => import ('../../../views/support/support.module').then(m => m.SupportModule)
      },
      {
        path: 'subscription', loadChildren: () => import ('../../../views/subscription/subscription.module').then(m => m.SubscriptionModule),
        canActivate: [AuthGuardService]
      }
    ]
  },
];

@NgModule({
  imports: [
    RouterModule.forChild(routes)
  ]
})
export class DashboardLayoutRouting {
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62151689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档