首页 文章

当刷新页面时,Angular 4路由器丢失了参数

提问于
浏览
1

当我使用路由器链接时,路由器找到页面并呈现它,但当我尝试刷新页面或从网址重新输入时,它失败并给我这个错误:

Error: Cannot match any routes. URL Segment: 'project'

在问这里之前我已经搜索了很多但是找不到答案 .

我正在使用的链接: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 }
];

有效的链接:

<div [routerLink]="['/project/', project.id ]" class="project" *ngFor="let project of projects">
    <div class="project-name">{{project.id}} - {{project.description}}</div>
</div>

有任何想法吗?

1 回答

  • 1

    你的代码应该是公正的

    <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}

相关问题