获取vue-router的名称和params路由

时间:2017-03-21 12:48:29

标签: vue.js vuejs2 json-ld vue-router

我正在使用Vue和vue-router。对于列表视图中的产品项,我想生成JSON-LN注释,并将<ListView x:Name="lv"> <ListView.Resources> <local:IndexConverter x:Key="IndexConverter" /> </ListView.Resources> <ListView.View> <GridView x:Name="gv"> <GridView.Columns> <GridViewColumn> <GridViewColumn.Header> <GridViewColumnHeader Padding="2,2,2,0" VerticalContentAlignment="Bottom" ClickMode="Press" /> </GridViewColumn.Header> <GridViewColumn.CellTemplate> <DataTemplate> <TextBlock Text="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}, Converter={StaticResource IndexConverter}}" FontWeight="Bold" Tag="0" Loaded="TextBlock_Loaded" /> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> </GridView.Columns> </GridView> </ListView.View> </ListView> 属性设置为产品详细信息视图的路径。

我知道我可以使用url来获取当前路径的路径,但有没有办法获得一个不同的路径路径,因为它将使用

呈现

this.$route.path

在其他地方注入路径的路径?

1 个答案:

答案 0 :(得分:18)

您正在寻找Router instance's resolve method

  

给定与<router-link/>中使用的形式相同的位置,返回具有以下已解析属性的对象:

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

在你的情况下,你可以做这样的事情来获取网址:

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

return props.href;