今天尝试使用Vue-Router(在Vue-CLI中)获取URL参数时遇到了困难($route.query为空),代码如下。
代码用途:获取URL后携带的参数(如“http://localhost:8080/#/?clie...”中的client_id)
今天尝试使用Vue-Router(在Vue-CLI中)获取URL参数时遇到了困难($route.query为空),代码如下。
代码用途:获取URL后携带的参数(如“http://localhost:8080/#/?clie...”中的client_id)
router/index.js:
const routers = [
{path:'/', component: Login},
{path:'/:client_id', component: Login},
]
浏览器访问:http://localhost:8080/123456
获取参数:
let client_id = this.$route.params.client_id
console.log(client_id ) // 结果:123456
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
vue-router
在mounted
触发时暂未完成对 url 的处理,只能取得基础的 path。解决方案 1:
利用
万能的setTimeout
,只需等待 1ms ,让 vue 处理完,router 即可获取到数据。App.vue
解决方案 2:
利用
Vuex
待 router 正确载入时通知 / 放行对应事件执行。src/router/index.js
App.vue