VueJs获取url查询

Sim*_*mos 47 vue.js vue-router vue-component vuejs2

我正在开发一个带有vuejs的网站,此时我遇到了麻烦,我需要从这个网站上获取网址查询(页面),例如这个网站webitename.com/user/?page=1但是this.$router.query.page得到了一个错误(未捕获的TypeError:无法读取undefined的属性"page"

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

PS:我可以使用设置查询页面

this.$router.push({name: 'userIndex', query: { page: '123' } });
Run Code Online (Sandbox Code Playgroud)

我可以得到像这样的url normal params

userID -> (websitename.com/user/:userId | websitename.com/user/1)
Run Code Online (Sandbox Code Playgroud)

但我无法获得任何查询参数

Man*_*ill 90

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

this.$route.query.page
Run Code Online (Sandbox Code Playgroud)

查看图像$ route是Vue Instance中的对象,您可以使用此关键字进行访问,然后您可以选择上面的对象属性:

在此输入图像描述

看看用于选择查询值的Vue-router文档:

Vue路由器对象


Alm*_*itt 16

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

例如:

new URL(location.href).searchParams.get('page')
Run Code Online (Sandbox Code Playgroud)

对于这个网址:websitename.com/user/?page=1,它将返回值1


Jor*_*ñan 10

在我的情况下,我console.log(this.$route)返回了完整路径:

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

console.js: /solicitud/MX/666
Run Code Online (Sandbox Code Playgroud)


Sri*_*mam 8

当前路由属性存在于路由器对象的实例中this.$route,this.$router该路由器对象提供路由器的配置.您可以使用获取当前路由查询this.$route.query