vue ref($refs)用法

本文详细介绍了Vue中ref和$refs的用法,包括如何通过ref注册引用信息,以及在DOM元素和子组件上的不同表现。讨论了在普通元素上使用ref获取DOM元素,在子组件上使用ref获取组件实例的情况,还提到了利用v-for和ref获取一组元素的方法。同时,指出了在何时何地正确使用ref以确保DOM已经渲染完成的注意事项。
摘要由CSDN通过智能技术生成

通过ref和$refs可以方便的操作DOM元素

ref

ref 被用来给元素或子组件注册引用信息, 引用信息将会注册在父组件的 $refs 对象上,如果是在普通的DOM元素上使用,引用指向的就是 DOM 元素,如果是在子组件上,引用就指向组件的实例。

$refs

$refs是一个对象,持有已注册过 ref的所有的子组件。
在这里插入图片描述

ref 有三种用法:

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

<div id="app">
 <div ref="englishAnalysis" class="usageChart"></div>
</div>
<script>
let app = new Vue({
   
 data: {
   
  },
created() {
   
  },
  mounted() {
   
  console.log(this.$refs.englishAnalysis);
  
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Vue 3中,`$refs` 是一个用于访问组件或DOM元素的实例的特殊属性。它可以让你直接访问组件实例或DOM元素,以便进行操作或获取其属性。 使用 `$refs` 的一般步骤如下: 1. 在模板中给组件或DOM元素添加 `ref` 特性: ```html <template> <div> <my-component ref="myRef"></my-component> <div ref="myDomRef">Hello, world!</div> </div> </template> ``` 2. 在组件的方法或生命周期钩子函数中使用 `$refs` 来访问组件实例或DOM元素: ```javascript export default { mounted() { const componentInstance = this.$refs.myRef // 访问组件实例 const domElement = this.$refs.myDomRef // 访问DOM元素 // 对组件实例进行操作 componentInstance.doSomething() // 获取DOM元素的属性 const textContent = domElement.textContent console.log(textContent) } } ``` 在上面的代码中,`ref="myRef"` 将组件实例存储在 `$refs` 对象中的 `myRef` 属性中,而 `ref="myDomRef"` 则将DOM元素存储在 `$refs` 对象中的 `myDomRef` 属性中。 需要注意的是,当在`mounted`钩子函数中访问 `$refs` 时,确保目标组件已经挂载完成,否则可能会得到 `undefined` 值。如果需要在其他生命周期钩子函数中访问 `$refs`,请确保在合适的时机。 总之,`$refs` 是一个方便的属性,可以让你直接访问组件实例或DOM元素。但是,尽量避免在模板中过度使用 `ref`,因为过多的 `ref` 可能会导致代码难以维护和理解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值