【发布时间】:2018-04-30 13:46:25
【问题描述】:
如果我的 Angular 应用程序,如果我导航(通过明确输入 URL 或单击页面链接)到 http://localhost:4200/#/sign-in,页面加载正常并显示我的登录表单。如果我随后在浏览器中单击 Refresh,我将返回到根页面 http://localhost:4200/#/。
我的路由器很简单:
export const routes: Route[] = [
{ path: 'sign-up', component: SignUpComponent},
{ path: 'sign-in', component: SignInComponent},
{ path: 'admin', loadChildren: 'app/admin/admin.module#AdminModule'},
{ path: 'dashboard', loadChildren: 'app/user/user.module#UserModule', canActivate: [ UserLoggedInGuard ]},
{ path: '', pathMatch: 'full', component: HomeComponent},
{ path: '**', pathMatch: 'full', component: PageNotFoundComponent},
]
我正在使用
- Windows 8
- 铬 62
@angular/core": "^4.2.4@angular/router": "^4.2.4
任何想法为什么会发生这种情况?
【问题讨论】:
-
如果您在浏览器地址栏上明确键入 URL localhost:4200/#/sign-in 会发生什么?
-
是的,更清楚的是,当我单击页面链接并在地址栏中明确键入它时,它会起作用。
-
几个月前,我在使用 Ionic 应用程序(基于 Angular 构建)时遇到了类似的问题。我会尽量记住问题所在,如果我这样做了,我会通知您(以防您的问题是由类似问题引起的)。
-
为了清楚起见,您输入 url 并返回,它就可以工作。而且,如果你刷新,会发生什么?
-
我输入网址,它就可以工作了。它进入登录页面。然后我单击刷新,它带我回到根目录。当我单击刷新时,无论我在哪个组件/页面上,它都会回到根目录
标签: angular angular-routing angular-router angular-router-guards