关于VUE无法正确获取元素 添加事件问题

在vue中监听一个滚动事件失败

情景

父组件是home页面的一个子路由,通过router-view进入

如图示,我在子组件的mounted时获取“内容区”这个元素,然后给它添加滚动监听事件,这时该元素是可获取,并且可以添加监听事件的

在这里插入图片描述

但是当我将子组件的功能拿出来放到父组件中,并且在父组件的mounted添加滚动监听事件,这时该元素无法获取

在这里插入图片描述

我尝试搜索这个问题来解决它

1、使用Vue.nextTick()方法,并不能获取到元素

2、target.addEventListener(‘scroll’, this.handleScroll, true),第三个参数加上true。也就是通过捕获流来获取元素,也不能获取元素。

在这里插入图片描述

目前认为的是,元素没有加载完成,函数就执行了

但是没找到解决办法

只好按我一开始的方法,用一个子组件包裹内容区,父组件通过import调用子组件,再在子组件的mounted来获取元素并添加事件监听

在这里插入图片描述

有大佬能为我解释一下吗,不懂

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值