如果用户从外部导航到我的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”从外部导航到该站点,则该应用程序会自动将其路由到该页面在初始负载上。