vue 接口数据返回之后再渲染页面_vue首页异步请求后数据不渲染

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自己遇到的问题记录一下,做一个企业微信鉴权登录,首页获取用户信息存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')) {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值