vue3?組合式api中?ref?和$parent?的使用方法
ref 的使用
vue3中, 在 組件中添加一個(gè) component ref=“xxx” ,就可以在父組件中得到 子組件的 dom 對(duì)象, 以及 虛擬的 dom 對(duì)象, 有了虛擬 dom, 我們就可以在父組件中控制子組件的顯示了
ref 的使用方法

vue3中ref 的特點(diǎn)
以上如果在vue2中,就可以使用 子組件的對(duì)象來(lái)改變子組件的數(shù)據(jù), 和調(diào)用子組件的方法了, 但是在vue3 , 這樣做還是不行的, 還要做一步操作才可以,也就是要在子組件中, 把父組件想用的方法或?qū)傩员┞冻鋈ゲ趴梢?/p>

以上是父組件通過(guò) ref 來(lái)得到子組件的對(duì)象, 進(jìn)而控制子組件中的 屬性和方法那么我們通過(guò)子組件, 如何去控制父組件的屬性和方法呢。那就不止一種方法了emit mitt(bus) 都是可以了, 這里要說(shuō)的是 和 ref 相類似的 $parent 方法$parent 可以添加在子組件中的事件參數(shù)上, 參數(shù)名稱必須是 $parent,這樣在事件的回調(diào)方法中就可以,得到父組件的對(duì)象, 并控制其中的屬性和方法了。同樣的道里, 我們要在父組件中, 把要使用的方法或?qū)傩员┞冻鰜?lái)才可以使用
下面給出一個(gè)樣例, 父組件中的按鈕可以改變子組件中的屬性, 并且子組件中的按鈕可以改變父組件中的
父組件
<template>
<div class="baba">
我是父組件, 我的資產(chǎn)是 {{money}}
<button @click="borrow100">點(diǎn)擊我從兒子那里拿1000元</button>
<hr/>
<erzi ref="son"></erzi> //變量中定義一個(gè)和 ref 同名的,就可以得到子組件的對(duì)象
</div>
</template>
<script setup>
import {ref} from "vue";
import erzi from "@/views/Home/erzi.vue";
let money = ref(100000000);
let son = ref() //通過(guò) ref 獲取到子組件的對(duì)象
const borrow100 = ()=>{ //這里點(diǎn)擊了父組件的按鈕, 去改變子組件的 money 屬性
money.value+=1000;
son.value.money -= 1000;
}
defineExpose({money}) //這里是通過(guò)暴露父組件的 money 屬性, 給子組件來(lái)使用
</script>子組件
<template>
<div class="erzi">
我是子組件, 我的資產(chǎn)是 {{ money }}
<button @click="yao20($parent)">點(diǎn)擊我們父親那里拿 20 元</button>
//這里子組件的事件使用的 $parent 來(lái)做參數(shù),必須使用 $parent 才可以得到父組件的對(duì)象
</div>
</template>
<script setup>
import {ref} from "vue";
let money = ref(88888888);
const yao20 = (p)=>{ //這是子組件中的事件, 觸發(fā)更改父組件的屬性
//根據(jù)傳參可以知道 p 就是父組件的對(duì)象
money.value +=20;
p.money -=20;
}
defineExpose({ //這里是暴露 子組件的 money屬性, 因?yàn)楦附M件需要使用,
//如果需要的話, 這里也可以暴露方法
money
})
</script>到此這篇關(guān)于vue3 組合式api中 ref 和$parent 的使用的文章就介紹到這了,更多相關(guān)vue3 ref 和$parent 使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue.js 表格分頁(yè)ajax 異步加載數(shù)據(jù)
Vue.js通過(guò)簡(jiǎn)潔的API提供高效的數(shù)據(jù)綁定和靈活的組件系統(tǒng).這篇文章主要介紹了vue.js 表格分頁(yè)ajax 異步加載數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2016-10-10
springboot?vue接口測(cè)試前端動(dòng)態(tài)增刪表單功能實(shí)現(xiàn)
這篇文章主要為大家介紹了springboot?vue接口測(cè)試前端動(dòng)態(tài)增刪表單功能實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
基于vue實(shí)現(xiàn)探探滑動(dòng)組件功能
這篇文章主要介紹了基于vue實(shí)現(xiàn)探探滑動(dòng)組件功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
vue elementUI table表格數(shù)據(jù) 滾動(dòng)懶加載的實(shí)現(xiàn)方法
這篇文章主要介紹了vue elementUI table表格數(shù)據(jù)滾動(dòng)懶加載的實(shí)現(xiàn)方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04
項(xiàng)目部署后前端vue代理失效問(wèn)題解決辦法
這篇文章主要給大家介紹了關(guān)于項(xiàng)目部署后前端vue代理失效問(wèn)題的解決辦法,文中通過(guò)圖文以及代碼示例將解決的辦法介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-02-02
vue el-tree 默認(rèn)展開第一個(gè)節(jié)點(diǎn)的實(shí)現(xiàn)代碼
這篇文章主要介紹了vue el-tree 默認(rèn)展開第一個(gè)節(jié)點(diǎn)的實(shí)現(xiàn)代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05

