詳解Vue的ref特性的使用
更新時間:2020年01月24日 10:07:40 作者:bluesboneW
這篇文章主要介紹了詳解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: '<h1>child-component </h1>'
})
let vm = new Vue({
el: '#app'
})
</script>

從上圖中我們很容易發(fā)現
vm.$refs返回了一個對象,這個對象內有兩個成員,包含了vm實例的所有ref
vm.$refs.p是DOM 元素
vm.$refs.child是組件實例
二、實戰(zhàn):通過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>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
一文帶你深入理解Vue3中Composition API的使用
Composition API 是 Vue 3 中的一項強大功能,它改進了代碼組織和重用,使得構建組件更加靈活和可維護,本文我們將深入探討 Composition API 的各個方面,希望對大家有所幫助2023-10-10
Vue3 的ref和reactive的用法和區(qū)別示例解析
ref和reactive是Vue3中用來實現數據響應式的API,一般情況下,ref定義基本數據類型,reactive定義引用數據類型,本文給大家介紹Vue3 的ref和reactive的用法和區(qū)別,感興趣的朋友一起看看吧2023-10-10

