我想转到这个url:
myApp.com/search-page?name%5Bquery%5D=value
当我在主页myApp.com
:上时,以下代码对它很有效
this.$router.push({
path: "search-page",
query: { name: { query: `${this.value}` } }
});
但如果我在另一个页面上,它的路径已经像:
myApp.com/movies/id
当我在$router.push
中使用相同的代码时,它会将我带到以下网址:
myApp.com/movies/search-page?name%5Bquery%5D=value
正如你所看到的,URL中有一个额外的movies/
,我们不想要!我如何才能做到无论我当前的路径(URL(是什么,我的$router.push
方法都会将我带到:
myApp.com/search-page?name%5Bquery%5D=value
您在$router.push
中使用path
。如果您在嵌套页面中,还需要更改路径值。
相反,使用name
,这样就不必指定路径级别
this.$router.push({
name: "search-page",
query: { name: { query: `${this.value}` } }
});
在nuxt中,路由名称基本上是为降低字符串和连字符而生成的文件夹名称。所以,如果你有这样的文件夹,你想访问电影id路线
pages/
--| movies
-----| _id.vue
你可以通过访问它
this.$router.push({
name: "movies-id",
params: {
id: 1
}
});