关于用composition api 改写 music-list 组件的问题
来源:4-6 歌手详情页 MusicList 组件功能交互优化(03)
Elevens_regret
2021-04-13
黄老师,我把music-list组件的逻辑用 composition api的形式写了一遍,功能都实现了,但是遇到一个问题:
就是定义准备引用背景图dom的ref的时候,只能初始化成
const bgImgRef = ref({ clientHeight: 0 })
而不能初始化为
const bgImgRef = ref(null)
究其原因是因为在其他计算属性中提前引用了bgImgRef.value.clientHeight
初始化的时候 bgImgRef.value 是null的话就会报错。
请问一下老师有什么方法能写成 const bgImgRef = ref(null) 这种形式而不报错吗?
music-list.vue组件中
useStyle.js文件
写回答
1回答
-
ustbhuangyi
2021-04-13
本质上还是你的计算属性中依赖了 DOM API,而在计算属性执行的时候 DOM 还没有初始化,你应该像课程那样,计算属性依赖响应式数据,然后这个响应式数据在 mounted 的时候赋值,这个时候可以访问到 DOM 的值。
122021-04-13
相似问题