1问题描述
页面中需要路由匹配给当前路由高亮,所以就需要获取当前路由的path,但是发现获取不到
在 mounted 中打印 $route:
获取到的值不对。path 和 fullPath ,明明应该有值,但只有一个 "/" 。
可能在 mounted 中router 的初始化还没有完成,所以取到的是一个初始默认值。
加一个延时试试:
可以发现,有时能获取到,有时获取不到,延时到2000以后,目前测试的是都能获取到。
问题推测:
vue-router 初始化是需要一段时间的,在完成之前,取值只能拿到初始的默认值。
在 mounted 中 router 初始化可能还没有完成。
2用onReady解决
上面用定时器延迟了1000ms,有时能取到 router,于是加长延时时间到2000解决,但是,真正要解决这个问题,肯定不能用定时器,因为延迟的时间无法确定:
长了,影响体验
短了,可能router初始化还没完成
查阅官网API,希望官方提供了 初始化完成时的回调方法 ,果然找到了: onReady
经测试,通过。
不会。vuex中watch的使用,在全局路由守卫中想要通过store拿到异步请求的数据是无法拿到的。常见使用vuex,是store模块文件写相关的数据信息。vuex是一个专门为vue,js应用程序开发的状态管理模式,采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
在使用Vue3hooks中使用路由,首先要先安装vue-router,在mainjs中引入,然后创建一个router实例,并在Vue实例中使用,在需要使用的组件中,使用useRouter获取路由实例,然后就可以使用路由的API进行 *** 作,比如跳转页面、获取路由参数等。
在一些情况下,一个页面的path路径可能是不确定的,比如我们进入到用户界面时,希望是如下的路径:
- /user/aaa 或者 user/bbb 。
3、在 appvue 中的使用
4、 uservue 组件中获取到 userId ,这里的 userId 对应的就是路由映射中的参数
以上就是关于vue-router,路由按需加载,页面加载完成后,this.$route 获取不到全部的内容,包括:vue-router,路由按需加载,页面加载完成后,this.$route 获取不到、vue中路由里会去获取vuex中数据吗、vue3hooks中使用路由等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)