Vue怎么不通过路由获取URL参数

寻技术 VUE 2023年08月03日 142

这篇文章主要介绍“Vue怎么不通过路由获取URL参数”,在日常操作中,相信很多人在Vue怎么不通过路由获取URL参数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue怎么不通过路由获取URL参数”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

首先,让我们来了解一下路由获取URL参数的方法。在Vue中,我们可以通过this.$route.query来获取URL参数。举个例子,如果URL中的参数为?id=1,可以通过以下方式获取:

this.$route.query.id  // 1

但是有些情况下,我们可能不想通过路由来获取URL参数,可能因为一些复杂的业务逻辑或者设计方案等等。在这种情况下,我们可以通过window对象来获取URL参数。

以下是一个简单的例子,假设我们的URL为http://localhost:8080?id=1。

首先,我们需要使用原生的JavaScript代码获取URL。代码如下:

let url = window.location.search

上面的代码中,window.location.search可以获取到URL参数,包括“?”和“=”等特殊字符。

接下来,我们需要截取URL中的参数值。代码如下:

let params = {}
if (url.indexOf('?') !== -1) {
    let arr = url.split('?')[1].split('&')
    arr.forEach((item) => {
        let val = item.split('=')
        params[val[0]] = val[1]
    })
}

上面的代码中,我们首先使用if语句来判断URL是否包含“?”字符。如果包含,则使用split方法分离出参数部分,并使用循环和split方法来分离每个键值对。最后,我们将参数名和参数值以键值对的形式存储在一个对象中。

最后,我们可以使用params对象来获取URL参数值。例如,对于上面的URL,我们可以通过以下方式获取参数值:

params.id  // 1
关闭

用微信“扫一扫”