【问题标题】:Angular 2 pasting URL with parameter is not working带有参数的Angular 2粘贴URL不起作用
【发布时间】:2016-12-21 09:52:27
【问题描述】:

对于在 Angular 2 中使用路由器参数,我束手无策,想知道是否有人遇到过类似的问题,可以告诉我我做错了什么。

考虑这个路线设置:

{ path: 'content/:id', component: ContentComponent }

然后在组件内部,我可以这样使用参数:

ngOnInit() {
    super.ngOnInit();
    let id: string = this.route.snapshot.params['id'];
    ... // do something with this id
}

当路由在 Angular 内部完成时,这有效:

this.router.navigate(['/content', 'abcde']);

但是当我将相同的 URL 粘贴到浏览器中时,我得到了这个错误:

我粘贴的网址:http://localhost/content/abcde

错误:

未处理的承诺拒绝:无法匹配任何路由:'abcde'; 区域:角度;任务:Promise.then;值:错误:无法匹配任何 路线:'abcde'

有谁知道我做错了什么?

非常感谢,

【问题讨论】:

    标签: angular angular2-routing


    【解决方案1】:

    这发生在我关注路由文档时。

    由于某种我无法理解的原因,它说设置在index.html:<base href=".">

    将值更改为 <base href="/"> 为我解决了这个问题。

    【讨论】:

    • 如果我可以投票 100 次,我会的。非常感谢。它有效,而且一点也不明显。我在这上面浪费了这么多时间,真是难以置信!干杯。
    • 我知道那是什么感觉 :) 我也浪费了时间
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-29
    • 2019-03-10
    相关资源
    最近更新 更多