【问题标题】:angular 2 routing, useHash strips route parametersangular 2 路由,useHash剥离路由参数
【发布时间】:2018-10-06 13:35:58
【问题描述】:

我正在开发一个简单的 Angular 2 应用程序,但路由似乎对我不起作用。

当我尝试使用 myapp.com/15/hello 之类的 url 为我的应用程序进行路由时,url 参数将使用非散列路由保留,代码如下

RouterModule.forRoot([
    { path: '**', component: MyComponent },
])

但是,当我转向 useHash 路由时,如果我尝试执行相同的请求 myapp.com/15/hello,则会从 url 中删除参数额外参数并变成这样: myapp.com/#/

RouterModule.forRoot([
    { path: '**', component: MyComponent},
],
    {
        useHash: true,
    })

有没有什么方法可以在不从 url 中剥离额外参数的情况下使用哈希导航?

谢谢

【问题讨论】:

标签: javascript html angular angular2-routing


【解决方案1】:

路径“**”用于未定义的路由。您应该改为使用 '' 路由到 myComponent:

{
    path     : '',
    component: myComponent
}

【讨论】:

  • 您好,感谢您的回复。我已经尝试过了,它仍然将 url 从 myapp.com/15/hello 剥离到 myapp.com/#/
【解决方案2】:

我遇到了同样的问题。 我的解决方案是删除

<base href="/">

从标题。 这仅在您使用“useHash”路由策略时才有效。 我希望这能解决你的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-10
    • 2016-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-21
    • 1970-01-01
    • 2016-11-25
    相关资源
    最近更新 更多