使用nuxt中的route对象替换path



我想转到这个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
}    
});

最新更新