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


相关文章
|
2月前
|
JavaScript
Vue中侦听器watch时,调用this时出现undefined问题
Vue中侦听器watch时,调用this时出现undefined问题
49 0
Vue中侦听器watch时,调用this时出现undefined问题
|
11月前
|
人工智能 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 的问题
524 0
解决 Element-ui中 对话框 (Dialog)中含子组件时,使用 refs 调用该子组件为 undefined 的问题
|
JavaScript
vue中使用refs出现undefined的解决方法
vue中使用refs出现undefined的解决方法
|
JavaScript
FRONT01_三元表达式+refs调用子组件时的undefined
FRONT01_三元表达式+refs调用子组件时的undefined
FRONT01_三元表达式+refs调用子组件时的undefined
|
1月前
|
JavaScript
JS中Null和Undefined的区别及用法
JS中Null和Undefined的区别及用法
15 1
|
2月前
|
JavaScript 前端开发 算法
undefined与null的区别
在JavaScript中,undefined和null都表示变量未被赋值或值缺失,但它们在使用场景上有一些区别。 - **`语义不同`**:undefined表示一个变量未被赋值或者声明后未进行初始化。而null表示一个变量被明确地设置为无值或者表示空值的概念。 - **`类型不同`**:undefined是一种基本数据类型,而null是一个引用类型。 - **`条件判断`**:在条件判断中,使用if (variable === undefined)或者if (variable === null)可以进行区分。
|
3月前
|
JavaScript 前端开发 程序员
分享18个用于处理 null、NaN 和undefined 的 JS 代码片段
Null、NaN 和 undefined 是程序员在使用 JavaScript 时遇到的常见值。 有效处理这些值对于确保代码的稳定性和可靠性至关重要。
|
4月前
|
JavaScript 前端开发 API
null和undefined:两个JavaScript中的特殊值(二)
null和undefined:两个JavaScript中的特殊值