我有一条基本路线:
const appRoutes: Routes = [
{
path: 'login',
component: LoginComponent
},
{
path: '',
component: WidgetComponent
},
{
path: 'P3',
component: DashboardComponent
},
{
path: 'NN',
component: DashboardComponent
},
{
path: '**',
redirectTo: ''
}
];
而且效果很好。当我导航到
.../p3
它加载了我的组件。
现在,加载的url不仅仅是上面这个。但是像这样的:
localhost:4200/P3?p1=hello&p2=world
但它仍然可以正常工作
serve
.
当我构建并发布应用程序时,我遇到了一个问题:通过直接导航到
本地主机:4200/P3?p1=你好,p2=世界
服务器响应是
This page cannot be found on the server
我终于明白
P3
问题。所以我添加了
HashLocationStrategy
在我的模块中:
{ provide: LocationStrategy, useClass: HashLocationStrategy }
,
所以现在我的网址是:
<server>/#/P3?p1=hello&p2=world
这解决了我的问题。
我的问题是:有没有更好的办法?我在想,有没有可能把
P3页
在url中?我在文件上看到
skipLocationChange: true
设置为路线的
NavigationExtras
但我并不满意。
有人有主意吗?