这篇“Vue中ref特性怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue中ref特性怎么使用”文章吧。
一、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: '<h2>child-component </h2>'
})
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: '<h4 @click="handleClick">{{count}}</h4>',
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>
以上就是关于“Vue中ref特性怎么使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/4279392/blog/4412609