温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Vue中ref特性的使用示例

发布时间:2021-06-17 14:22:57 来源:亿速云 阅读:128 作者:小新 栏目:web开发

这篇文章主要介绍了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>

Vue中ref特性的使用示例

从上图中我们很容易发现
vm.$refs返回了一个对象,这个对象内有两个成员,包含了vm实例的所有ref
vm.$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特性的使用示例”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI