Routerlink网址不应更改为默认网址。
当我使用RouterModule.forRoot(appRoutes,{useHash:true});它的工作正常..但是我改为useHash = false,它不工作
在html中,我使用了以下代码:
<a routerLink="/applicationredirect" [queryParams]="{appId: recentMenu.applicationId}">{{recentMenu.applicationMasterName}} - {{recentMenu.applicationCode}}</a>
路由页面:
const appRoutes: Routes = [
.....
{
path: 'applicationredirect', component: ApplicationRedirectComponent,
},
{
path: 'home', component: HomeComponent,
}
...
// otherwise redirect to home
{ path: '**', redirectTo: 'home' }
];
const StartupRouting = RouterModule.forRoot(appRoutes, { useHash: false });
当我在新标签页中打开时,
首先我得到了
localhost:4200 / applicationredirect?appId = 1084518
然后将其更改为
localhost:4200#/ home
最后我得到了这个默认页面
localhost:4200 / home#/ home
我想打开(localhost:4200 / applicationredirect?appId = 1084518)网址。
答案 0 :(得分:0)
这是正常现象。几点:
{ useHash: ... }
applicationredirect
段,因此在声明它之前,它会回退到/home
路由,因为您将其设置为{ path: '**', redirectTo: 'home' }
。 / li>
{ provide: LocationStrategy, useClass: HashLocationStrategy }
,因为PathLocationStrategy为default strategy