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}