我刚刚开始学习Angular 2,并且已经使用Angular2VisualStudioTemplate模板创建了Angular 2应用程序。在我中,app-routing.module.ts
我声明了以下路线:
const routes: Routes = [
{ path: '', component: LoginComponent },
{ path: 'login', component: LoginComponent },
{ path: 'distribution', component: DistributionComponent },
{ path: 'dashboard', component: DashboardComponent }
];
根组件只有<router-outlet></router-outlet>
指令。在LoginComponent
视图中,存在带[routerLink]="['/dashboard']
指令的输入,因此当用户单击按钮时,您可以导航到/dashboard
。
问题是,如果我要导航到/dashboard
任何其他路径,请在浏览器的导航栏中键入URL,那将是行不通的。该页面仅显示登录视图,并且不会更改为dashboard
组件或任何其他视图。注意,我还没有实现一些登录机制,只有虚拟视图和组件。
我已经看到过类似的问题,涉及我的问题,但我不知道该如何解决。提前致谢
您可以尝试添加此{provide:LocationStrategy,useClass:PathLocationStrategy},
@RahulSingh提供的评论是我的问题的解决方案。因此,文件app-routing.module.ts
现在看起来像:
/* code */
@NgModule({
imports: [ RouterModule.forRoot(routes)],
exports: [ RouterModule ],
providers: [
{ provide: LocationStrategy, useClass: PathLocationStrategy },
{ provide: APP_BASE_HREF, useValue: '/' },
],
})
/* code */
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句