关于getBoundingClientRect()
来源:11-3 简单联动处理:navigationBar 对应 list

YangYYYYY
2022-07-23
改成监听回调,这个方法报错了,请问老师这怎么解决?
写回答
2回答
-
Cloud_Iris
2022-10-06
同学,我来回答你。这个大概率是因为 `src/views/main/components/navigation/mobile/index.vue` 里面的代码是这样的
<m-popup v-model="isPopupVisible"> <menu-vue @onPopupMenuItemClick="handleMenuItemclick"></menu-vue> </m-popup>
之前这里 menu-vue 子组件在触发 子组件自定义事件 onPopupMenuItemClick 的时候,传递的是index,老师视频里面只改了函数 handleMenuItemclick 的定义和上面 顶部tab触发方法,直接传入item的地方,没有改作为子组件的 menu-vue 。 menu-vue 这里原来的触发是
<li v-for="(item, index) in $store.getters.categoryList" :key="item.id" class="text-lg text-zinc-900 px-1 py-1.5 duration-100 active:bg-zinc-100 dark:active:bg-zinc-900" click="$emit('onPopupMenuItemClick',index)" > {{item.name}} </li>
现在很明显应该改成
$emit('onPopupMenuItemClick',item)
那么自然 v-for 里面也就不需要index了。改完子组件,就能正常地从弹出框也能触发数据更新了。这个和getBoundingClientRect() 这个函数没有关系的。你要看报错信息,去推理,去打印。
望采纳。
212023-04-01 -
Sunday
2022-07-23
你好
这个错误指的是 itemRefs[val] 是 undefined。出现这个错误的原因,应该是 watch 执行时,itemRefs[val] 还没有值导致的
032022-10-06
相似问题