this.$refs undifine
时间: 2023-10-15 09:24:06 浏览: 81
当您在Vue的v-for指令上设置了ref属性时,直接获取this.$refs.name.style将始终返回undefined。 这是因为在Vue的生命周期中,当渲染DOM时,$refs属性还没有被填充。换句话说,你在渲染完成之前访问它时,它还没有被定义。
解决这个问题的一种方法是在mounted生命周期钩子函数中使用this.$nextTick方法。这个方法会在页面渲染完成后调用传入的回调函数。通过将获取this.$refs.name.style的代码放在this.$nextTick的回调函数中,您可以确保在访问this.$refs之前DOM已经渲染完成,从而避免获取到undefined的情况。
另外,您还可以将获取this.$refs.name.style的代码放在其他合适的生命周期钩子函数中,例如updated或者created,这些钩子函数也会在DOM渲染完成后被调用。根据您的具体需求,选择合适的生命周期钩子函数来获取this.$refs的值即可。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [this.$refs 为undefined如何解决?](https://blog.csdn.net/weixin_56650035/article/details/120102419)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [vue中使用refs定位dom出现undefined的解决方法](https://download.csdn.net/download/weixin_38654348/12766447)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [vue的 this.$refs 打印为undefined解决办法](https://blog.csdn.net/weixin_45658814/article/details/118753115)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
阅读全文