Angular 4 路由器在刷新页面时丢失参数
Angular 4 router loses params when refreshing page
当我使用路由器 link 时,路由器找到页面并呈现它
但是当我尝试刷新页面或从 url 重新输入时,它失败并给我这个错误:
错误:无法匹配任何路由。 URL 段:'project'
我在这里问之前已经搜索了很多,但找不到答案。
我正在使用的link:
http://localhost:4200/#/project/5
这是我的路由器配置:
export const routes: Routes = [
{ path: '', component: UserHomepageComponent },
{ path: 'signin', component: SigninComponent },
{ path: 'signup', component: SignupComponent },
{ path: 'userHomepage', component: UserHomepageComponent },
{ path: 'project/:project', component: ProjectComponent }
];
有效的link:
<div [routerLink]="['/project/', project.id ]" class="project" *ngFor="let project of projects">
<div class="project-name">{{project.id}} - {{project.description}}</div>
</div>
有什么想法吗?
你的代码应该只是
<div [routerLink]="['/project', project.id ]" class="project" *ngFor="let project of projects"> <div class="project-name">{{project.id}} - {{project.description}}</div> </div>
另外我看到你的路径中有#,所以刷新的时候可能找不到匹配的路由!
改变你的app.module没有这些,
{provide: LocationStrategy, useClass: HashLocationStrategy}
当我使用路由器 link 时,路由器找到页面并呈现它 但是当我尝试刷新页面或从 url 重新输入时,它失败并给我这个错误:
错误:无法匹配任何路由。 URL 段:'project'
我在这里问之前已经搜索了很多,但找不到答案。
我正在使用的link: http://localhost:4200/#/project/5
这是我的路由器配置:
export const routes: Routes = [
{ path: '', component: UserHomepageComponent },
{ path: 'signin', component: SigninComponent },
{ path: 'signup', component: SignupComponent },
{ path: 'userHomepage', component: UserHomepageComponent },
{ path: 'project/:project', component: ProjectComponent }
];
有效的link:
<div [routerLink]="['/project/', project.id ]" class="project" *ngFor="let project of projects">
<div class="project-name">{{project.id}} - {{project.description}}</div>
</div>
有什么想法吗?
你的代码应该只是
<div [routerLink]="['/project', project.id ]" class="project" *ngFor="let project of projects"> <div class="project-name">{{project.id}} - {{project.description}}</div> </div>
另外我看到你的路径中有#,所以刷新的时候可能找不到匹配的路由!
改变你的app.module没有这些,
{provide: LocationStrategy, useClass: HashLocationStrategy}