【问题标题】:Angular 4 router loses params when refreshing pageAngular 4 路由器在刷新页面时丢失参数
【发布时间】:2017-11-21 18:00:14
【问题描述】:

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

错误:无法匹配任何路由。 URL 段:“项目”

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

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

有什么想法吗?

【问题讨论】:

    标签: angular router angular-router


    【解决方案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}

    【讨论】:

    • 试过你的建议,去掉多余的 /...但还是不行
    • 检查网址的外观并在此处发布
    • 你能修复它吗
    • 不,还是不行?这是一个已知的错误还是我做错了什么?
    猜你喜欢
    • 2017-10-06
    • 2019-01-01
    • 2018-02-02
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    • 2023-01-26
    • 2019-09-12
    • 1970-01-01
    相关资源
    最近更新 更多