当前页面的URL为http://localhost:4200/foo
。
情况1:如果我按浏览器的刷新按钮或在浏览器中输入相同的URL,页面将重定向到根路径http://localhost:4200
。
我希望页面保持在相同的URL(http://localhost:4200/foo
)。
情况2:如果我输入相同的URLhttp://localhost:4200/foo
,页面将重定向到根路径http://localhost:4200
。
我也希望页面保持在我输入的相同URL(http://localhost:4200/foo
)。
否则,如果页面是http://localhost:4200
,而我输入http://localhost:4200/foo
,它可以正常工作。我可以通过URL路径正常导航。问题只出现在访问相同路径时。
我的app.module.ts中的根路径为:
const rootRouting: ModuleWithProviders = RouterModule.forRoot([
{
path: 'foo',
loadChildren: './foo/foo.module#FooModule'
},
{
path: '',
loadChildren: './bar/bar.module#BarModule'
},
], { });
而我的路径在foo.module.ts中:
const fooRouting: ModuleWithProviders = RouterModule.forChild([
{
path: 'foo',
component: FooComponent
}
]);
OBS:这个问题 Angular 5 - 在浏览器刷新时重定向页面到主页正好与我的相反。现在,我不知道 Angular 对于这种情况的默认行为是什么。
DiPix 更正后的编辑:
我的 app.module.ts 中的根路径是:
const rootRouting: ModuleWithProviders = RouterModule.forRoot([
{
path: 'foo',
loadChildren: './foo/foo.module#FooModule'
},
{
path: '',
loadChildren: './bar/bar.module#BarModule'
},
], { });
我的路径在foo.module.ts中:
const fooRouting: ModuleWithProviders = RouterModule.forChild([
{
path: '',
pathMatch: 'full',
component: FooComponent
}
]);
编辑2:
使用 Google Chrome 进行调试,我已经设置了“保留日志”。
在任何其他网站上进行测试,如果您在“www.anydomain.com/path”处并重新加载浏览器,则 Chrome 将写入"Navigated to 'www.anydomain.com/path'"
。
在我的应用程序中进行测试,如果我在“http://localhost:4200/foo”处并重新加载浏览器,则 Chrome 将写入"Navigated to 'http://localhost:4200/'"
。
浏览器导航到根路径!