角度设置URL标题而不是id

时间:2019-07-31 09:14:12

标签: angular

我的角度页面中的路线为:

{
  path: 'topics/:id',
  component: TopicsComponent,
},

我绝对需要:id参数来检索主题。

但是相反,http://myapp.com/topics/123我想要http://myapp.com/topics/the-title-of-the-topic

我无法按标题获取主题,因此我需要ID,但我不知道如何更改url?我不需要网址中的ID。

我进行了搜索,但没有找到任何东西。

如果可以给我链接/直接帮助,请先谢谢

2 个答案:

答案 0 :(得分:0)

您可以直接提供字符串的名称,而不是id:

{
 path: 'topics/:title',
...
}

答案 1 :(得分:0)

您可以执行以下操作:

设置您的路由,例如:

  • topics/:id/:title
  • topics/:title/:id或类似的变体。

这样,您应该可以同时访问两者。如果这给您带来了问题,则可以寻求约定,并将ID添加到titleUrl并从那里进行解析。这样,您可以执行由topics/:topicUrl构成的:title-:id,可以编写一个解析器以提取topicUrl并从中取出idtitle那个。