通过名称和参数获取 vue-router 的路由

Get route by name and params for vue-router

我正在使用 Vue 和 vue-router。对于列表视图中的产品项,我想生成 JSON-LN 注释,并将 url 属性设置为产品详细信息视图的路径。

我知道我可以使用 this.$route.path 获取当前路线的路径,但是有没有办法获得不同的路线路径,因为它会使用

呈现
<router-link :to={name: 'ProductDetail', params: {id: some_id, slug: some_slug}}></router-link>

将路由的路径注入其他地方?

您正在寻找 Router instance's resolve method:

Given location in form same as used in <router-link/>, returns object with the following resolved properties:

{
  location: Location;
  route: Route;
  href: string;
}

在你的情况下,你可以做这样的事情来获得 url:

let props = this.$router.resolve({ 
  name: 'ProductDetail',
  params: { id: some_id, slug: some_slug },
});

return props.href;