想起之前写轮播图,加上请求后,第一次总拿不到,写静态数据的时候是没有问题的,但是使用请求数据就会报错,一直以为是异步数据问题,使用nextTick()也没有解决,此处记录一下解决方法。
但是在更改代码保存后就能赋值成功展示,仔细看看自己的模板,发现是使用v-for之前没有做空值判断,自己最初定义轮播图存储的数组初始是空数组,swiper会先拿到最初定义的空数组,此时遍历的内容为undefined,而v-for是不能遍历undefined的,所以最后在包裹swiper的div标签上做了v-if判断最后成功解决这个问题。
此处复习一下vue2和vue3中v-if和v-for的优先级对比