如何在 vue.js 中设置路由器链接以使用别名作为 slug?

发布于 2025-01-14 12:10:53 字数 650 浏览 1 评论 0原文

我在通过 vue-router 生成链接时遇到问题。我在 vue-router 中设置我的路线,如下所示:

const routes = [
...
{
  path: '/:version/terms-and-conditions',
  name: 'Terms',
  component: Terms,
  alias: ['/:version/privacy-policy']
},
...
]

我可以使用带参数的 router-link :

<router-link :to="{name: 'Terms', params: { version: 'v1' }}">Link</router-link>

但是它生成到主路径的链接:

http://localhost:8081/v1/terms-and-conditions

我想要实现的是使用 vue-router 获取链接:

http://localhost:8081/v1/privacy-policy

我知道我可以为相同的术语组件添加单独的路径,但如果可能的话,我希望使用别名来使事情更清晰。知道如何做到这一点(使用别名数组中的路径)吗?

I have problem generating links via vue-router. I set my route in vue-router like so:

const routes = [
...
{
  path: '/:version/terms-and-conditions',
  name: 'Terms',
  component: Terms,
  alias: ['/:version/privacy-policy']
},
...
]

I can use router-link with parameters:

<router-link :to="{name: 'Terms', params: { version: 'v1' }}">Link</router-link>

however it generates link to the main path:

http://localhost:8081/v1/terms-and-conditions

What I'm trying to achieve is to use vue-router to get link to:

http://localhost:8081/v1/privacy-policy

I know that I could possibly add a separate path for the same Terms Component, but I'd love to use alias if possible to make things cleaner. Any idea how to do it (using path from alias array)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

Oo萌小芽oO 2025-01-21 12:10:53

我相信您可以像这样在路由器链接中指定路由:

<router-link to="/v1/privacy-policy">Link</router-link>

然后路由器将使用您定义的别名解析链接。

I believe you could just specify the route in your router-link like so:

<router-link to="/v1/privacy-policy">Link</router-link>

The router will then resolve the link using the alias you've defined.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文