groupRef为null

来源:3-3 歌手列表固定标题实现(上)

慕莱坞0998854

2021-10-27

老师你好,首先说明这个错误产生的原因是我的笔误,如下图:
图片描述
如上,我不小心调用了两次useFixed,
此时错误显示为
图片描述

错误的原因是下图的groupRef.value为null
图片描述

这让我很疑惑, 经过debug后发现,第一次groupRef.value能正常获取,是ul这个DOM元素,但是为什么第二次groupRef变回了null呢?
老师的最终版本的代码拉取下来,假如再写一次useFixed的话,也会出现这个问题,希望老师能解答一下。。。

写回答

1回答

ustbhuangyi

2021-10-28

首先,你要了解这种 Template ref 是如何赋值的,参考我这篇文章:https://mp.weixin.qq.com/s?__biz=MzIxNDc4MjEzNw==&mid=2247485299&idx=1&sn=09702ae0c07a71b3373a1c83ecce9d9b&chksm=97a31ea5a0d497b3df75fa185ca735ae0539834a4e6875957f968c808d30439933e398fc0a7f&token=1423738638&lang=zh_CN#rd

知道了这个,你就会知道你执行了第二次 useFixed,内部的 groupRef 是一个新的引用对象,它的值是不会被赋值的,一直为 null,所以会报错。

0
0

Vue3开发企业级音乐Web App 明星讲师带你学大厂代码

慕课网明星讲师黄轶深度讲解 Vue3.0 ,提升的不止是Vue代码能力

2223 学习 · 1002 问题

查看课程