初始负载时打开角度子路径

时间:2018-07-20 12:14:29

标签: angular router

如果用户从外部导航到我的angular 6网站,则该应用最初将加载指定的路线页面。如果未定义路径,它将自动导航到仪表板页面,该页面正常且预期行为。但是,如果用户输入https://www.myapp.com/messages,则初始加载仍会路由到仪表板页面。

这是否可以更改?换句话说,我希望用户能够通过输入定义的URL直接导航到我网站的任何子路由。

路由模块中的当前路由如下:

const routes: Routes = [
  // Messaging isn't lazy loaded to allow message refreshing control
  // at app level
  {
    path: 'messages',
    component: MessagingLayoutComponent,
    canActivate: [ AuthGuard ]
  },
  {
    path: 'dashboard',
    loadChildren: './dashboard/dashboard.module#DashboardModule',
    canActivate: [ AuthGuard ]
  },
  {
    path: 'cms',
    loadChildren: './cms/cms.module#CmsModule',
    canActivate: [ AuthGuard ]
  },
  { path: '', pathMatch: 'full', redirectTo: 'dashboard'},
  {
    path: '**',
    component: PageNotFoundComponent
  }
];

因此,举一个更详细的示例:如果用户来到我的网站,他们总是会在初始加载时进入仪表板页面。 (假设他们已登录)。如果未登录,则必须先登录,然后将它们路由到仪表板。理想情况下,如果某人先前已登录(即,他们的身份验证令牌是最新的),并且例如使用“ ./messages”或“ ./cms”从外部导航到该站点,则该应用程序会自动将其路由到该页面在初始负载上。

0 个答案:

没有答案