关于vue轮播图有时候不会自动切换的问题
根据coderwhy的vue项目,发现轮播图有时候不会自动播放:
原因:
是异步操作导致的。在没有抽离模板的时候,即组件内容都在Home中完成的时候,是没有任何问题的;
但在抽离了模板之后我的轮播图是在轮播,没有图片,一片空白,只有第一张图。
从模板抽离处开始找问题。然后看见了:banners的动态绑定,发现所需的数据是经过异步请求传过来的。要知道,异步请求的结果是在回调函数中,所以先渲染的模板可能会出现空数据的情况,即还没有拿到返回的数据,后来拿到了数据,但模板已经渲染完了,并没有响应式的刷新。因此重新刷新页面后,轮播图又正常工作了。
——————————————————————
解决方案:
修改时间:
mounted: function () {
setTimeout(() => {
this.handleDom();
// 2.开启定时器
this.startTimer();
}, 200)
},