【发布时间】:2020-05-31 05:03:43
【问题描述】:
在我的 NuxtJS(v. 2.10.2) 应用程序中,我有一个如下所示的 URL,其中 pid 是帖子的 ID。
/post?pid=5e4844e34202d6075e593062
此 URL 工作正常,并根据传递给 pid 查询参数的值加载帖子。但是,用户可以通过单击打开对话框的应用程序栏上的Add Post 按钮来添加新帖子。一旦用户单击添加,就会向后端服务器发出请求以保存请求。一旦成功,用户将使用 vue 路由器 push 重定向到新帖子,如下所示
.then(data => {
if (data) {
this.$router.push({ path: `/post?pid=${data.id}` });
}
})
问题是,用户没有被重定向到新帖子,只有查询参数pid被更新。我怀疑 VueJS 不承认这是一个不同的 URL,因此什么都不做。
如何解决这个问题?
更新:作为替代方法,尝试了以下语法,但得到了相同的行为。
this.$router.push({ path: "post", query: { pid: data.id } });
【问题讨论】:
-
这不是传递参数的方式,试试this
-
@ChristianCarrillo 我试过
this.$router.push({ path: "post", query: { pid: data.id } });。但是只有查询参数被更新,页面没有被重定向,才能获得相同的行为。它对你有用吗? -
尝试使用
name而不是path,之前在您的路线配置中设置了name属性
标签: vue.js vue-router nuxt.js query-parameters