vue之ref和$refs的理解

https://blog.csdn.net/u013034585
详细来说ref 被用来给DOM元素或子组件注册引用信息。
引用信息会根据父组件的 $refs 对象进行注册。如果在普通的DOM元素上使用,引用信息就是元素; 如果用在子组件上,引用信息就是组件实例
注意:只要想要在Vue中直接操作DOM元素,就必须用ref属性进行注册
https://blog.csdn.net/u013034585
我们来分析官方文档
首先ref的引用是相当于一个DOM节点(如果是子组件则指向的是其实例),而且是一个string类型的值。
通俗的将就类似于原生js用document.getElementById("#id")
但是只是类似,他们的不同点是Vue是操控虚拟DOM ,也就是说在渲染初期并没有这个ref的属性,这个属性是在创建Vue实例以后才被加到虚拟DOM中的。所以在官方文档的最后提醒开发者不能将ref的结果在模版中进行数据绑定。
说了这么多那么如何具体使用呢?

首先尝试普通DOM元素

<div id="app">
    <input type="text" value="HelloWorld" alt="captcha"  ref="text">
     <button @click="changeText">change word</button>
 </div>

这是一段特别简单的html中加input和button代码
目的是运用ref属性点击按钮更改input中的文字。

我们在标签中加入ref属性

var app = new Vue({ 
    el: '#app',
    data: {
    },
    //添加一个方法
     methods:{
  //改变文字
  	changeText () {
  		this.$refs.text.value = 'Hello Vue!'
  	}
  }
});

网页初始时input现实的文字是HelloWorld
https://blog.csdn.net/u013034585
当点击change word按钮时,input中的文字发生变化
https://blog.csdn.net/u013034585
那么刚才代码中的this. r e f s 是 什 么 呢 ? 通 俗 的 将 就 是 搜 集 所 有 的 r e f 的 一 个 对 象 。 通 过 t h i s . refs是什么呢? 通俗的将就是搜集所有的ref的一个对象。通过this. refsrefthis.refs 可以访问到此vue实例中的所有设置了ref属性的DOM元素,并对其进行操作。

其实组件中的子组件的ref原理也类似,只是指向的不是原组件而是组件的实例。
用法和普通DOM元素一样。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值