vue3中refs用法举例小结

 更新时间:2023年08月18日 09:55:03   作者:尔嵘  
这篇文章主要给大家介绍了关于vue3中refs用法举例的相关资料,Vue.js中的$refs是一个对象,它持有已注册过ref特性的所有组件和元素,需要的朋友可以参考下

前言:

Vue 3的Refs是一种新的API,用于访问DOM元素或组件实例。Refs提供了一个简单的方法来访问DOM元素或组件实例,以便在Vue组件中进行操作和处理。在Vue3中,refs用于获取组件或DOM元素的引用,类似于Vue2中的$refs。但与Vue2不同的是,在Vue3中,refs可以是一个字符串或一个函数。

当refs是一个字符串时,在渲染时会将其关联到相应的元素或组件上,然后可以使用.value来访问它们:

<template>
    <div>
        <input ref="inputRef" />
        <button @click="handleClick">Click me</button>
    </div>
</template>
<script>
import { ref } from'vue';
export default {
  setup() {
    const inputRef = ref(null);
    const handleClick = () => {
      inputRef.value.focus();
    };
    return {
      inputRef,
      handleClick,
    };
  },
};
</script>

当refs是一个函数时,在渲染时会将其传递给组件的setup()函数,并且每当组件重新渲染时都会调用该函数。

这使得我们可以动态地创建和更新引用:

<template>
    <div>
        <MyComponent :ref="refHandler" />
    </div>
</template>
<script>
import { ref, onMounted } from 'vue';
import MyComponent from './MyComponent.vue';
export default {
  components: {
    MyComponent,
  },
  setup() {
    const refHandler = (el) => {
      console.log(el); // 打印组件实例或DOM元素
    };
    onMounted(() => {
      console.log(refHandler.value); 
    });
    return {
      refHandler,
    };
  },
};
</script>

我们使用onMounted生命周期函数,在组件挂载时访问了myRef引用。由于myRef引用与我们的<div>元素相关联,myRef.value将是这个元素的实际DOM元素。我们可以使用这个元素来执行任何我们需要的操作

需要注意的是,当使用函数ref时,如果组件没有被渲染或者已经被销毁,那么被传递给ref的回调函数参数将为null。

总结

到此这篇关于vue3中refs用法举例的文章就介绍到这了,更多相关vue3 refs用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue获取当前路由的五种方式示例代码

    vue获取当前路由的五种方式示例代码

    这篇文章主要给大家介绍了关于vue获取当前路由的五种方式,文中通过代码示例介绍的非常详细,对大家学习或者使用vue具有一定的参考学习价值,需要的朋友可以参考下
    2023-08-08
  • 详解如何在Vue中进行表单自定义验证

    详解如何在Vue中进行表单自定义验证

    在Vue应用中,表单验证是非常重要的一部分,Vue提供了一些内置的验证规则,比如required、min、max等,但是有时候我们需要对表单进行自定义验证,以满足特定的业务需求,本文将介绍如何在Vue中进行表单自定义验证,感兴趣的朋友可以参考下
    2023-12-12
  • vue3中的render函数里定义插槽和使用插槽

    vue3中的render函数里定义插槽和使用插槽

    这篇文章主要介绍了vue3中的render函数里定义插槽和使用插槽方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • Vue组件教程之Toast(Vue.extend 方式)详解

    Vue组件教程之Toast(Vue.extend 方式)详解

    这篇文章主要给大家介绍了关于Vue组件教程之Toast(Vue.extend 方式)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • vue中使用scrollTo没有效果的完美解决方法

    vue中使用scrollTo没有效果的完美解决方法

    这篇文章主要介绍了在vue中使用scrollTo没有效果的解决方法,本文给大家分享具体操作步骤,在这里需要注意scrollTo要作用在可滚动的元素上,不然不生效,scrollTop就会一直为0,需要的朋友可以参考下
    2023-10-10
  • vue 需求 data中的数据之间的调用操作

    vue 需求 data中的数据之间的调用操作

    这篇文章主要介绍了vue 需求 data中的数据之间的调用操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • Vue+ElementUI项目使用webpack输出MPA的方法

    Vue+ElementUI项目使用webpack输出MPA的方法

    这篇文章主要介绍了Vue+ElementUI项目使用webpack输出MPA的方法,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • vue3.2+ts实现在方法中可调用的拟态框弹窗(类el-MessageBox)

    vue3.2+ts实现在方法中可调用的拟态框弹窗(类el-MessageBox)

    这篇文章主要介绍了vue3.2+ts实现在方法中可调用的拟态框弹窗(类el-MessageBox),这个需求最主要的是要通过方法去调用,为了像el-messagebox使用那样方便,需要的朋友可以参考下
    2022-12-12
  • Vue.directive 实现元素scroll逻辑复用

    Vue.directive 实现元素scroll逻辑复用

    这篇文章主要介绍了Vue.directive 实现元素scroll逻辑复用功能,文中给大家提到元素实现滚动的条件有两个,具体内容详情大家参考下本文
    2019-11-11
  • useEffect理解React、Vue设计理念的不同

    useEffect理解React、Vue设计理念的不同

    这篇文章主要为大家介绍了useEffect理解React、Vue设计理念的不同详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09

最新评论