自己遇到的问题记录一下,做一个企业微信鉴权登录,首页获取用户信息存session方便后续页面调用。
在App.vue中写了鉴权,调用接口拿到了返回的用户信息,并且存在了session中。但是在首页home.vue中拿取不到session数据。后来查了半天,请教了几个vue同行知道问题出在了哪里。
由于是异步请求,而app和home在请求还未完成时就已经加载完毕了,导致从session中拿取不到数据。知道问题出在哪里就可以针对性解决了。
本来想通过vuex去解决,但是这个问题只存在首页,没必要引入vuex,所以就使用了evenbus去传值。不说了,上代码。
首先现在main.js里
main.js
import Vue from 'vue'
import App from './App'
import router from './router'
// 引入URL配置
import ajax from '../static/config/request'
Vue.config.productionTip = false;
Vue.prototype.$axios = ajax;
// 声明一个全局的evenbus
window.evenBus = new Vue();
App.vue
created(){
// 初始化调试工具
var vConsole = new VConsole();
// 授权登陆
if(!this.getCode('code')) {

本文记录了在Vue项目中遇到的一个问题:首页在接口数据返回并存储到session后未能及时渲染。作者分析了原因,由于接口请求的异步性质,首页在请求完成前就已经加载。为了解决这个问题,作者没有使用Vuex,而是选择了EventBus进行组件间通信,将数据传递给首页。虽然这种方法可能导致页面数据有轻微延迟,但成功解决了问题。作者欢迎其他不使用Vuex和EventBus的解决方案进行交流。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



