后端的返回的数据用数组接收;
把swiper放到根组件里的mounted,也会出现swiper先初始化,dom再加载的问题:
- swiper初始化在mounted里执行;
- setTimeout定时器是从后端请求回来的数据;
- 代码执行顺序是:当组件创建完成,就立即执行mounted,然后定义setTimeout定时器也就是(位置“1”),然后初始化swiper(位置“3”),然后是2s之后就开始执行定时器里的回调函数(位置“2”)。
- 所以还是存在dom还没更新好,就初始化了swiper,效果都没地方加,所以就没效果;
把swiper初始化放在datalist接收到值后?
也不能把swiper初始化放在datalist接收到值后,因为这样出现的问题是:只是datalist状态立即更新了,但是dom更新需要经过:虚拟dom创建、diff对比等过程,是异步更新的;这个时候swiper早就初始化完成了,还会出现过早初始化的问题: