Nuxtjs路由器去,路由_slug

时间:2018-08-08 13:14:13

标签: routing vue-router nuxt.js

我是nuxtjs的新手。 我具有以下结构:

pages/
--| items/
-----| /info
---------| _slug.vue

我有一条路线“ website / items / info / 39dj83”。

其中'39dj83'是动态变量,是我从API获取的。

如何将用户重定向到该路由?

我正在尝试这样的事情:

this.$router.push({name : 'items-info-slug', ???});

我如何发送“ 39dj83”子弹?

我的结构是否合适?

我也如何在slug.vue组件中获得该slug'39dj83'?

2 个答案:

答案 0 :(得分:1)

this.$router.push({name : 'items-info-slug',params: { slug: '39dj83' }});

Docs

在_slug.vue中,您可以通过params访问它。例如。

fetch({params}) {
  console.log(params.slug)
}

Docs

答案 1 :(得分:0)

由于您使用的是从API获取的数据;您的结构应如下所示:

页面/

-|项目

----- |信息

--------- || _slug

------------------ | index.vue

_slug是一个文件夹,index.vue包含您之前放在_slug.vue中的模板,脚本和样式。

要进行重定向:

methods: {
goToSlugItem() {
    //not sure, it depends on your code
    this.$router.push("/items/info/_${item.slug}") 
  }
} 

对不起,我的英语不好,希望对您有所帮助。