在vue项目中,有以下代码:
<div ref="warePage">
<sub-products-setting id="floor_0" v-if="pSubProductInfoVO.isShow" ref="subProductsRef"></sub-products-setting>
<basic-info id="floor_1" v-if="pBasicInfoVO.isShow" ref="basicInfoRef"></basic-info>
<sku-info id="floor_2" v-if="pSkuInfoListVO.isShow" ref="skuInfosRef"></sku-info>
<product-imgs id="floor_3" v-if="pProductImgInfoVO.isShow" ref="productImgRef"></product-imgs>
<delivery-info id="floor_4" v-if="pDeliveryInfoVO.isShow" ref="deliveryInfoRef"></delivery-info>
<ware-house id="floor_5" v-if="pWarehouseInfoVO.isShow" ref="warehouseRef"></ware-house>
<description-info id="floor_6" v-if="pDescriptionsInfoVO.isShow" ref="descriptionRef"></description-info>
<account-info id="floor_7" v-if="pManAccountVO.isShow" ref="accountInfoRef"></account-info>
<ordiary-info id="floor_8" v-if="pOrdinaryAttrInfoVO.isShow" ref="ordinaryInfoRef"></ordiary-info>
<!--虚拟组套商品不显示该模块-->
<business-relate id="floor_9" v-if="pBusinessRelateInfoVO.isShow && !isVirtualSuitWare" ref="businessInfoRef"></business-relate>
</div>
然后再created中遍历:
created() {
// 监听鼠标滚动事件
window.addEventListener("scroll", function () {
console.log(typeof self.$refs.warePage.children)
self.$refs.warePage.children.forEach((floor, index) => {
// if (winHeight + scrollHeight - $(floor).offset().top > winHeight / 2) {
console.log("activeIndex--->" + index)
// }
})
}, false)
}
然后滚动鼠标的时候,控制台报错:
我看到控制台中打印出来是object
类型
console.log(typeof self.$refs.warePage.children)
但是:
控制台中打印self.$refs.warePage.children的结果是:
请问是什么原因呢?我需要遍历ref为warePublishPage下的children怎么处理?
试试