详解Vue的ref特性的使用
作者:bluesboneW 时间:2024-06-07 15:23:02
一、ref的基本使用
ref
的使用
<!-- `vm.$refs.p`将会是DOM结点 -->
<p ref="p">hello</p>
<!-- `vm.$refs.child`将会是子组件实例 -->
<child-component ref="child"></child-component>
如果在普通的 DOM 元素上使用,引用指向的就是DOM 元素如果用在子组件上,引用就指向组件实例
深入理解$refs
某组件的$refs
含有该组件的所有ref
,看下面的例子
<div id="app">
<p ref="p">hello</p>
<child-component ref="child"></child-component>
</div>
<script>
Vue.component('child-component', {
template: '<h1>child-component </h1>'
})
let vm = new Vue({
el: '#app'
})
</script>
从上图中我们很容易发现vm.$refs
返回了一个对象,这个对象内有两个成员,包含了vm实例的所有refvm.$refs.p
是DOM 元素vm.$refs.child
是组件实例
二、实战:通过ref获取子组件data
看下面的例子
<div id="app">
<counter ref="child1" @change="handleChange"></counter>
<counter ref="child2" @change="handleChange"></counter>
<div>{{sum}}</div>
</div>
<script>
// counter组件,实现每点击一次,自增1
Vue.component('counter', {
template: '<h3 @click="handleClick">{{count}}</h3>',
data() {
return {
count: 0
}
},
methods: {
handleClick() {
this.count += 1;
this.$emit('change')
}
}
})
let vm = new Vue({
el: '#app',
data: {
sum: 0
},
methods: {
handleChange() {
this.sum = this.$refs.child1.count + this.$refs.child2.count // 使用refs获取子组件的数据
}
}
})
</script>
来源:https://segmentfault.com/a/1190000021643481
标签:Vue,ref
0
投稿
猜你喜欢
Oracle 11g数据库安装与卸载的方法图解
2024-01-22 19:54:15
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2022-01-10 00:11:57
Python学习小技巧之利用字典的默认行为
2021-10-10 23:48:29
你需要知道的CSS3 动画技术[译]
2009-12-30 17:02:00
MySQL 中这么多索引该怎么选择
2024-01-17 12:58:54
由浅入深讲解MySQL数据库索引的选择性
2008-12-17 15:06:00
JavaScript图片放大镜效果
2009-10-19 22:15:00
Python封装shell命令实例分析
2022-03-11 13:39:37
最常用的12种设计模式小结
2024-04-29 13:17:45
Python列表元素删除和remove()方法详解
2023-04-07 08:48:54
mysql共享锁与排他锁用法实例分析
2024-01-20 15:15:26
Python实现获取命令行输出结果的方法
2023-04-23 09:34:13
python实习总结(yeild,async,azwait和协程)
2021-06-16 20:40:45
详解Python中for循环的使用方法
2023-06-12 10:53:19
Python struct.unpack
2023-10-14 21:29:56
oracle 函数
2010-07-23 13:06:00
Django基础知识 web框架的本质详解
2023-03-23 17:38:01
PyQT5 QTableView显示绑定数据的实例详解
2023-09-09 19:40:40
Python使用smtp和pop简单收发邮件完整实例
2022-01-07 05:48:40
详解Django 时间与时区设置问题
2021-02-19 03:08:42