[vuejs/vue-router]created和mounted获取不到$route.query数据

2024-05-08 621 views
9

我在项目中对路由组件进行懒加载操作,结果在created和mounted中无法获取路由中的query参数,求大神指点一下! ` // 路由 export default new Router({ routes: [ { path: '/collect', name: 'CollectLibrary', component: () => import('../pages/CollectLibrary.vue') } ]

`

然后在组件的生命周期created和mounted函数中通过this.$route.query都获取不到url中的参数,延时200毫秒可以获取到,通过location.href解析也可以获取到;

如果组件不进行懒加载处理,可以在created和mounted函数中马上获取到url上的参数

就是不知道什么原因造成?希望可以得到大家的指点

回答

2

@z649319834 请问你的这个问题有解决方案了吗?我也遇到跟你一样的问题

1

需到了相同的问题~

7

是否可以使用watch监听route: $route: { handler: function(oV,nV) { // 拿到query并赋值 }, immediate: true, }

2

image

mounted由于时序问题可能route上的query还没初始化完成。这种建议从地址上拿一下。我们用的router是history模式的