this.$refs 为undefined如何解决?

简介: this.$refs 为undefined如何解决?

首选要知道this.$refs是干什么的?

ef有三种用法:

1、ref 加在普通元素上,用this.$refs.name 获取到的是dom元素

2、ref 加在子组件上,用this.$refs.name 获取到的是组件实例,可以使用组件的所有方法

3、利用v-for和ref可以获取一组数组或者dom节点

当v-for用于元素或者组件时,引用信息将是包含DOM节点或组件实例数组

ref本身是作为渲染结果被创建的,在初始渲染的时候你不能访问他们---因为他们还不存在;$refs也不是响应式的,因此不能试图用它在模板中做数据绑定

获取到的总是undefined的

1、 你在哪里调用的,和你调用的对象

试试在 mounted() 里面调用有效果没有;

调用的对象本身就存在的,还是需要数据渲染之后才出现的;同理在 mounted() 里面调用,或者在this.$nextTick( () => { ... } ) 调用

2、调用的对象是否和 v-for 结合使用,或者调用对象是不是数组列表

假如我现在设置 ref 在v-for上,直接获取 this.$refs.name.style,永远都是空的;

因为 this.$refs.name是一个数组,无法通过 .style 获取;

可以动态绑定 ref 和使用 v-for,使用 this.$refs[refName][index] 获取;

3、调用的对象是否和 v-if 结合使用

ref不是响应式的,所有动态加载的模板更新它都无法相应的变化;

解决:更换为 v-show 即可

20210527153548522.png

20210527153548522.png


相关文章
|
6月前
|
JavaScript
Vue中侦听器watch时,调用this时出现undefined问题
Vue中侦听器watch时,调用this时出现undefined问题
300 0
Vue中侦听器watch时,调用this时出现undefined问题
|
人工智能 JavaScript
vue父组件调用子组件this.$refs报错,undefined、not a function问题解决方法
vue父组件调用子组件this.$refs报错,undefined、not a function问题解决方法
|
JavaScript
vue中使用过滤器this为undefined解决方案
vue中使用过滤器this为undefined解决方案
vue中使用过滤器this为undefined解决方案
|
JavaScript
解决 Element-ui中 对话框 (Dialog)中含子组件时,使用 refs 调用该子组件为 undefined 的问题
解决 Element-ui中 对话框 (Dialog)中含子组件时,使用 refs 调用该子组件为 undefined 的问题
732 0
解决 Element-ui中 对话框 (Dialog)中含子组件时,使用 refs 调用该子组件为 undefined 的问题
|
JavaScript
FRONT01_三元表达式+refs调用子组件时的undefined
FRONT01_三元表达式+refs调用子组件时的undefined
125 0
FRONT01_三元表达式+refs调用子组件时的undefined
|
JavaScript
vue中使用refs出现undefined的解决方法
vue中使用refs出现undefined的解决方法
|
5月前
|
前端开发 小程序 JavaScript
微信小程序-Unhandled promise rejection TypeError: Cannot read property ‘get‘ of undefined
微信小程序-Unhandled promise rejection TypeError: Cannot read property ‘get‘ of undefined
|
3月前
|
存储 JavaScript 前端开发
成功解决:Cannot read properties of undefined (reading ‘commit‘)
这篇文章提供了解决Vuex中"Cannot read properties of undefined (reading 'commit')"错误的两种方法:检查模板中的数据属性是否存在,以及确保在Vue实例中正确挂载了store对象。
成功解决:Cannot read properties of undefined (reading ‘commit‘)
|
3月前
|
定位技术 Apache
Echarts——Invalid geoJson format Cannot read property 'length' of undefined
Echarts——Invalid geoJson format Cannot read property 'length' of undefined
82 0
|
3月前
|
JavaScript
VUE——filemanager-webpack-plugin报错TypeError: Cannot read property 'isFile' of undefined
VUE——filemanager-webpack-plugin报错TypeError: Cannot read property 'isFile' of undefined
70 0