返回顶部
首页 > 资讯 > 前端开发 > JavaScript >详解Vue中$refs和$nextTick的使用方法
  • 607
分享到

详解Vue中$refs和$nextTick的使用方法

2024-04-02 19:04:59 607人浏览 独家记忆
摘要

目录1、$refs简介$refs获取DOM元素$refs获取组件对象2、$nextTick基本使用Vue异步更新DOM利用$nextTick解决以上问题$nextTick使用场景1、

1、$refs简介

$refs是vue提供的获取真实dom的方法。

$refs获取DOM元素

【使用步骤】:

在原生DOM元素上添加ref属性利用this.$refs获取原生的DOM元素

【代码演示】:

<template>
  <div>
    <h1>获取原生的DOM元素</h1>
    <h4 id="h" ref="myH">我是h4标签</h4>
  </div>
</template>

<script>
export default {
  // 在挂载之后获取原生dom
  mounted() {
    console.log(document.getElementById("h"));
    // this.$refs是vue对象中特有的属性
    console.log(this.$refs.myH);
  },
};
</script>

<style>
</style>

【控制台效果】:

$refs获取组件对象

【代码演示】:

<template>
  <div>
    <h1>获取组件对象</h1>
    <Demo ref="myCom"></Demo>
  </div>
</template>

<script>
import Demo from "@/components/Demo";
export default {
  mounted() {
    console.log(this.$refs.myCom);
    // 获取子组件对象
    let demo = this.$refs.myCom;
    // 调用子组件中的方法
    demo.fn();
  },
  components: {
    Demo,
  },
};
</script>

<style>
</style>

【效果展示】:

2、$nextTick基本使用

$nextTick等待dom更新之后执行方法中的函数体

vue异步更新DOM

【vue异步更新演示】:

<template>
  <div>
    <h1>获取组件对象</h1>
    <Demo ref="myCom"></Demo>
  </div>
</template>

<script>
import Demo from "@/components/Demo";
export default {
  mounted() {
    console.log(this.$refs.myCom);
    // 获取子组件对象
    let demo = this.$refs.myCom;
    // 调用子组件中的方法
    demo.fn();
  },
  components: {
    Demo,
  },
};
</script>

<style>
</style>

【效果演示】:

利用$nextTick解决以上问题

【代码演示】:

<template>
  <div>
    <p>vue异步更新dom</p>
    <p ref="mycount">{{ count }}</p>
    <button @click="add1">点击+1,马上获取数据</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      count: 0,
    };
  },

  methods: {
    add1() {
      this.count++;
      // console.log(this.$refs.mycount.innerhtml);

      // 解决异步更新问题
      // dom更新完成之后会顺序执行this.$nextTick()中的函数体
      this.$nextTick(() => {
        console.log(this.$refs.mycount.innerHTML);
      });
    },
  },
};
</script>

<style>
</style>

【效果演示】:

$nextTick使用场景

【代码演示】:

<template>
  <div>
    <p>$nextTick()使用场景</p>
    <input
      ref="search"
      v-if="isshow"
      type="text"
      placeholder="这是一个输入框"
    />
    <button @click="search">点击-立即搜索</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isShow: false,
    };
  },

  methods: {
    search() {
      this.isShow = true;
      this.$nextTick(() => {
        this.$refs.search.focus();
      });
    },
  },
};
</script>

<style>
</style>

【效果】:

到此这篇关于详解Vue中$refs和$nextTick的使用方法的文章就介绍到这了,更多相关Vue $refs $nextTick内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 详解Vue中$refs和$nextTick的使用方法

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

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

猜你喜欢
  • 详解Vue中$refs和$nextTick的使用方法
    目录1、$refs简介$refs获取DOM元素$refs获取组件对象2、$nextTick基本使用vue异步更新DOM利用$nextTick解决以上问题$nextTick使用场景1、...
    99+
    2024-04-02
  • Vue中$refs和$nextTick如何使用
    本篇内容主要讲解“Vue中$refs和$nextTick如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue中$refs和$nextTick如何使用”吧!1、$refs简介$refs是v...
    99+
    2023-06-29
  • Vue中的nextTick方法详解
    目录vue nextTick与node的nextTick的区别vue nextTick Vue.nextTick() 是一个方法,用于在下次 DOM 更新循环结束之后执行延迟回调。它...
    99+
    2023-05-16
    Vue nextTick Vue nextTick方法
  • Vue中this.$nextTick()的理解与使用方法
    目录this.$nextTick()原理:1.Vue 实现响应式并不是数据发生变化之后 DOM 立即变化,而是按一定的策略进行 DOM 的更新。2.Vue官网3.等价转换,如果thi...
    99+
    2024-04-02
  • vue中$refs和$el怎么使用
    这篇文章主要介绍“vue中$refs和$el怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue中$refs和$el怎么使用”文章能帮助大家解决问题。用法:1、“$refs”用于给元素或子组...
    99+
    2023-06-29
  • React使用refs操作DOM方法详解
    在react框架 甚至说是三大框架中都是不太支持大家直接去操作dom的 因为也没什么必要 当然也会有特殊情况 例如视频播放 强制动画 第三方插件的一些渲染或初始化 官方也给了我们对应...
    99+
    2022-11-13
    React操作DOM React refs操作DOM
  • vue中$refs的三种用法解读
    目录vue $refs的三种用法1、vue2中2、vue3中3、vue3的组合API(composition-api)对vue中$refs的理解描述总结vue $refs的三种用法 ...
    99+
    2023-01-28
    vue中$refs vue中$refs用法 vue $refs
  • 在vue中nextTick用法及nextTick的原理是什么
    目录什么是 nextTicknextTick 的用法nextTick 的实现原理总结Vue.js 是一个流行的前端框架,它提供了一种响应式的数据绑定机制,使得页面的数据与页面的 UI...
    99+
    2023-05-16
    vue nextTick使用 vue nextTick原理
  • Vue中this.$nextTick()的具体使用
    目录1、官网说法2、DOM 更新3、获取更新后的 DOM4、小结:this.$nextTick()的使用场景1、官网说法 在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后...
    99+
    2023-02-06
    Vue this.$nextTick()
  • 详解Vue中$props、$attrs和$listeners的使用方法
    目录背景一、文档描述二、具体使用三、总结背景 现在我们来讨论一种情况,父组件与孙子组件怎么通信,我们有多少种解决方案? 我们使用VueX来进行数据管理,但是如果项目中多个组件共享状态...
    99+
    2024-04-02
  • vue3中$refs的基本使用方法
    1、在vue2中可以通过this来访问到$refs,vue3中由于没有this所以获取不到了,但是官网中提供了方法来获取 知道了怎么获取后,我们结合ElementPlus来使用,因...
    99+
    2024-04-02
  • Vue中XMLHttpRequest的使用方法详解
    Vue中使用XMLHttpRequest(XHR)来获取数据的方式与传统的HTML页面相同。以下是Vue中XMLHttpRequest的详细使用方法: 1.创建XMLHttpRequ...
    99+
    2023-05-19
    Vue XMLHttpRequest使用方法 Vue XMLHttpRequest Vue XMLHttpRequest
  • 详解vue中路由的安装和使用方法
    Vue 是一款流行的前端开发框架,它提供了诸多方便开发的工具和功能。其中,Vue 路由能够帮助我们创建单页应用程序,并且帮助我们实现路由功能。本篇文章将会介绍 Vue 路由的使用。Vue路由安装在开始使用 Vue 路由之前,我们需要先安装 ...
    99+
    2023-05-14
  • vue中keepAlive组件的作用和使用方法详解
    前言 在面试的时候,很多面试官再问vue的时候可能就会提一嘴,你知道keep-alive有什么作用吗? keep-alive是vue内置的一个组件,而这个组件的作用就是能够缓存不活动...
    99+
    2024-04-02
  • Vue中watch使用方法详解
    目录前言watchimmediate和handlerdeep拓展前言 说到 vue 中的 watch 方法,大家可能首先想到,它是用来监听数据的变化,一旦数据发生变化可以执行一些其他...
    99+
    2023-01-28
    Vue watch用法 Vue watch原理
  • VUE中$refs的基本用法举例
    目录ref 有三种用法:第一种用法举例应注意的坑:vue---$refs的用法【详解】ref 有三种用法:  1、ref 加在普通的元素上,用this.$refs.(ref值) 获取...
    99+
    2022-12-19
    VUE中$refs用法 VUE中$refs
  • Vue中$attrs和$listeners详解以及使用方法
    目录Vue中 常见的组件通信方式可分为三类1. 前言2. 知识点3. 示例总结 传送门:Vue中 子组件向父组件传值 及 .sync 修饰符 详解传送门:Vue中 状态管理...
    99+
    2022-11-16
    vue $attrs $listeners vue $attrs $listeners属性
  • vue中使用echarts的方法实例详解
    1、安装 npm install echarts --save 2、在vue中引入(全局引入) // 引入echarts import echarts from 'echarts'...
    99+
    2023-05-19
    vue echarts 安装
  • Vue中使用装饰器的方法详解
    目录前言什么是装饰器?装饰器的使用js中使用装饰器不使用装饰器vue 中使用装饰器一些常用的装饰器1. 函数节流与防抖2. loading3. 确认框总结前言 相信各位在开发中一定遇...
    99+
    2024-04-02
  • vue项目中main.js使用方法详解
    目录第一部分:main.js文件解析第二部分:Vue.use的作用以及什么时候使用Vue.use是什么?(官方文档)Vue.use()什么时候使用?补充:关于main.js方便小技巧...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作