VueJs 获取 url 查询

VueJs get url query

我正在用 vuejs 开发一个网站,此时我遇到了一个问题,我需要从 URL 中获取 URL 查询(页面),例如这个网站名称。com/user/?page=1 但 this.$router.query.page 给我一个错误(未捕获的类型错误:无法读取未定义的 属性 'page')

有人知道这个问题并且可以帮助我吗?

PS: 我可以使用

设置查询页面
this.$router.push({name: 'userIndex', query: { page: '123' } });

我可以获得 URL 普通参数,例如

userID -> (websitename.com/user/:userId | websitename.com/user/1)

但是我无法获取任何查询参数。

当前路由属性存在于this.$route中,this.$router是路由器对象的实例,它给出了路由器的配置。您可以使用 this.$route.query

获取当前路线查询

我想你可以像这样简单地调用,这会给你结果值。

this.$route.query.page

看图 $route 是 Vue 实例中的对象,您可以使用此关键字访问,接下来您可以 select 对象属性,如上所示:

查看 Vue-router 文档以获取 select 查询值:

Vue Router Object

在我的例子中,我 console.log(this.$route) 并返回了完整路径:

console.js:
fullPath: "/solicitud/MX/666",
params: {market: "MX", id: "666"},
path: "/solicitud/MX/666"

console.js: /solicitud/MX/666

您也可以使用纯 javascript 获得它们。

例如:

new URL(location.href).searchParams.get('page')

对于这个 url: websitename.com/user/?page=1,它将 return 的值为 1