iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue通过ref获取不到$refs问题
  • 278
分享到

Vue通过ref获取不到$refs问题

VuerefVue$refsref获取不到$refs 2023-01-28 06:01:23 278人浏览 独家记忆
摘要

目录Vue通过ref获取不到$refs使用$refs获取不到DOM元素1. 在created 钩子函数中调用2. 获取的是设置了v-if/v-show的元素总结Vue通过ref获取不

Vue通过ref获取不到$refs

今天写项目时发现一个问题,就是明明已经定义了ref,但通过$refs打印却没有打印出想要的结果。

代码如下

<!-- html部分 -->
<div ref="myOrder" v-if="isOrder"></div>

// js部分
init () {
    console.log(this.$refs.myOrder) //undefined
}

打印结果是undefined。

后来查阅资料后发现问题所在:ref所在的标签不要用v-if,使用v-show就好了。并且ref的父级标签也不要用v-if。能用v-show就用v-show。否则就会出现打印$refs时,值为undefined

使用$refs获取不到DOM元素

this.$refs.xx 为 undefined 的几种情况:

1. 在created 钩子函数中调用

create()在实例创建完成后被立即调用。这时,实例已完成数据观测、属性和方法的元素,watch/event事件回调。但是,挂载阶段还没有开始,所以this.$refs获取不到DOM。

2. 获取的是设置了v-if/v-show的元素

如果在DOM结构中的某个DOM节点使用了v-if、v-show或v-for(根据后台数据动态操作DOM),那么这些DOM 在mounted阶段是不存在的。

在mounted钩子中加载回来的数据不会在这个阶段更新到DOM中。所以在mounted钩子中使用$refs获取有v-if、v-for、v-show 的DOM节点,返回来的会是undefined。

解决:

1.不在munted中获取元素,在updated中获取。

2.使用$nextTick:

  • $nextTick是在下次DOM更新循环结束之后执行延迟回调,在修改数据之后使用$nextTick,则可以在回调中获取更新后的DOM。
if(){// 随便举栗子
    this.a = true;// 修改数据
    this.$nextTick(function () {// 调用$nextTick函数
        let dom1 = this.$refs.test;// o了
    })
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Vue通过ref获取不到$refs问题

本文链接: https://www.lsjlt.com/news/178313.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue通过ref获取不到$refs问题
    目录Vue通过ref获取不到$refs使用$refs获取不到DOM元素1. 在created 钩子函数中调用2. 获取的是设置了v-if/v-show的元素总结Vue通过ref获取不...
    99+
    2023-01-28
    Vue ref Vue $refs ref获取不到$refs
  • vue中this.$refs有值,但无法获取ref的值问题及解决
    目录vue中this.$refs有值,但无法获取ref的值解决方法ant-design-vue中this.$refs使用笔记总结vue中this.$refs有值,但无法获取ref的值...
    99+
    2023-01-28
    vue this.$refs vue无法获取ref的值 vue获取ref的值
  • vue$refs动态拼接获取值问题
    目录vue $refs动态拼接获取值vue $refs不能动态拼接问题项目需求:动态增减表单并验证总结vue $refs动态拼接获取值 div是循环 所以img 的ref是动态设置的...
    99+
    2023-01-28
    vue $refs vue动态拼接 动态拼接获取值
  • 关于vue中ref的使用(this.$refs获取为undefined)
    目录vue的ref(this.$refs获取为undefined)1.你在哪里调用,和你调用的对象2.调用对象是不是数组列表3.调用对象是否和v-if结合使用vue的$refs属性几...
    99+
    2024-04-02
  • vue 循环动态设置ref并获取$refs方式
    目录vue循环动态设置ref并获取$refs一. 使用理解步骤(个人理解、大白话概况)二. 单循环和无循环动态设置ref三. 双循环动态设置refref和$refs的使用方法ref介...
    99+
    2023-01-28
    vue循环动态设置ref vue获取$refs vue动态设置ref
  • uniapp $refs获取不到怎么办
    在uniapp中,$refs是一个很重要的属性,可以用于获取组件实例。然而,有时候在使用$refs获取组件实例时,却会出现获取不到的情况。本文将围绕这个问题展开讨论。一、什么是$refs$refs是Vue中的一个特殊属性,可以用来获取组件实...
    99+
    2023-05-14
  • 解决vue局部过滤器获取不到this的问题
    目录vue局部过滤器获取不到thisvuefilters为什么获取不到this问题原因解决方法vue 局部过滤器获取不到this data里面加个字段赋值this。 <el-...
    99+
    2024-04-02
  • 解决vue过滤器filters获取不到this对象的问题
    目录vue过滤器filters获取不到this对象原理下面举个例子Vue filters this指向问题Vue实例中filter不依赖于当前vue实例上下文vue过滤器filter...
    99+
    2024-04-02
  • vue3中如何通过ref获取元素节点
    本文小编为大家详细介绍“vue3中如何通过ref获取元素节点”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue3中如何通过ref获取元素节点”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。通过ref获取元素节点...
    99+
    2023-07-06
  • 如何解决vue里碰到$refs的问题
    这篇文章主要介绍如何解决vue里碰到$refs的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!记录困惑自己一个简单的问题...(瞬间感觉官方文档的强大)在自己做的一个项目中,遇到...
    99+
    2024-04-02
  • 关于自定义过滤器获取不到session问题
    目录自定义过滤器获取不到session问题原因解决办法登录拦截器取到的session为空写了一个拦截器判断有没有登录在另外页面能得到session的值自定义过滤器获取不到sessio...
    99+
    2024-04-02
  • vue使用refs获取嵌套组件中的值过程
    目录使用refs获取嵌套组件的值vue使用ref的好处使用refs获取嵌套组件的值 功能简介: 1、父组件包含zujian1,而zujian1又包含zujian2 2、zujian...
    99+
    2024-04-02
  • vue3中通过ref获取元素节点的实现
    目录通过ref获取元素节点获取ref元素的几种方式小结1. 原生js获取dom元素2. ref获取单个dom元素3. ref获取v-for循环中的dom元素4. 在swiper中获取...
    99+
    2024-04-02
  • Vue怎么不通过路由获取URL参数
    这篇文章主要介绍“Vue怎么不通过路由获取URL参数”,在日常操作中,相信很多人在Vue怎么不通过路由获取URL参数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue怎么不通过路由获取URL参数”的疑惑有所...
    99+
    2023-07-06
  • 通过Python获取Cookie,保存到
    1.通过Python获取Cookie,保存到本地 代码如下: #!/usr/bin/python import http.cookiejar, urllib.request ''' 获取Cookie保存到本地 ''' def get_bai...
    99+
    2023-01-31
    Python Cookie
  • 自定义过滤器获取不到session问题怎么解决
    今天给大家介绍一下自定义过滤器获取不到session问题怎么解决。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。自定义过滤器获取不到session根本原因,多个...
    99+
    2023-06-26
  • Nacos入门过程的坑--获取不到配置的值问题
    目录Nacos获取不到配置的值本地nacosJAVA代码Nacos配置文件,通过@Value() 获取时失败了在nacos中配置的是这样的但是在Controller中取值取不到是我的...
    99+
    2024-04-02
  • 怎么解决vuejs获取不到dom问题
    这篇文章主要介绍“怎么解决vuejs获取不到dom问题”,在日常操作中,相信很多人在怎么解决vuejs获取不到dom问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么解决vuejs获取不到dom问题”的疑...
    99+
    2023-06-25
  • vue3获取ref实例结合ts的InstanceType问题
    目录vue3获取ref实例结合ts的InstanceType如何为vue3组件标注TS类型为 props 标注类型非 <script setup>为 emits 标注类型...
    99+
    2023-03-06
    vue3获取ref实例 ref ts InstanceType vue3 ts
  • Vue3中使用setup通过ref获取子组件的属性
    目录setup通过ref获取子组件的属性调用子组件的属性和方法setup通过ref获取子组件的属性 主要依赖defineExpose 子组件通过 defineExpose将数据抛出 ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作