如图,在控制打印的时候数组是空,但是展开可以看到有37条数据。紧接着打印了长度,长度为0.
这个问题我搜了很多解决都是
this.$nextTick(() => {
})
我有个更简单的办法,这个算是异步的一个加载
那就使用延时setTimeout来触发
let rightItems = this.$refs.r_list.getElementsByClassName('proList')
setTimeout(() => { // 根据betterScroll定义滚动
console.log(rightItems) // 右侧列表数组内容
console.log(rightItems.length) // 右侧列表数组长度
if (rightItems && (rightItems.length > 0)) {
let height = 0
this.arr.push(height)
for (let i = 0; i < rightItems.length; i++) {
let item = rightItems[i]
height += item.clientHeight
this.arr.push(height)
}
}
}, 600)