时间:2021-05-18
今天遇到一个问题,要保证页面渲染前请求的数据已经得到了
由于user是在异步请求之后保存在session中,而在页面渲染时session中还没有user,页面直接报错。
因此我希望能在所有请求都得到后再去做页面的渲染。
1.先把id为app的div用v-if="appShow",定义appShow为false进行隐藏,避免渲染
2.写计数器,每1ms进行一次查询,如果session中已经有user,删除过滤器,移除滤布,appShow为true,开始渲染页面,这样可以保证页面的正常渲染。
具体代码如下:
created:function (){ let that = this let timeTerval = setInterval(()=>{ if(sessionStorage.user){ clearInterval(timeTerval); that.appShow = true;//渲染app var removeLoad = document.getElementById("loading") removeLoad.style.display = "none" }else{ console.log("1222") }}, 1);},以上这篇浅谈vue异步数据影响页面渲染就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
迫使Vue实例重新渲染。注意它仅仅影响实例本身和插入插槽内容的子组件,而不是所有子组件。比如v-for里面数据层次太多,修改过数据变了,页面没有重新渲染,需手动
页面渲染,通常来说分为前端渲染以及后端渲染。前端渲染指的是服务端返回html框架以及模版,前端通过ajax异步请求拉取数据渲染模版,并动态修改dom,形成最终页
以前vue官方推荐的ajax库是vue-resource,现在改为axiosaxios的github仓库实现的效果:异步请求页面异步发出get请求获取数据,提交
接下来在本文里一起看看当数据变化时,从源码层面逐步分析一下触发页面的响应动作之后,如何做渲染到页面上,展示到用户层面的。同时也会了解在Vue中的异步方法Next
我们在vue,数据很多事异步获取来的,如果在template直接使用,会报错,undefined。因为先渲染后得到的数据,那如何才能不报错呢?computed!