這篇文章給大家分享的是有關(guān)vue中父組件如何通過$refs獲取子組件的值的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請(qǐng)域名、虛擬主機(jī)、營(yíng)銷軟件、網(wǎng)站建設(shè)、什邡網(wǎng)站維護(hù)、網(wǎng)站推廣。Vue是一套用于構(gòu)建用戶界面的漸進(jìn)式JavaScript框架,Vue與其它大型框架的區(qū)別是,使用Vue可以自底向上逐層應(yīng)用,其核心庫(kù)只關(guān)注視圖層,方便與第三方庫(kù)和項(xiàng)目整合,且使用Vue可以采用單文件組件和Vue生態(tài)系統(tǒng)支持的庫(kù)開發(fā)復(fù)雜的單頁(yè)應(yīng)用。
前言
在vue項(xiàng)目中組件之間的通訊是很常見的問題,同時(shí)也是很重要的問題,我們大致可以將其分為三種情況:
父?jìng)髯樱?/strong>在父組件中綁定值,在子組件中用props接收
子傳父:在父組件中監(jiān)聽一個(gè)事件,在子組件中利用$emit觸發(fā)這個(gè)事件并帶上數(shù)據(jù)作為第二個(gè)參數(shù),這時(shí)父組件中監(jiān)聽事件的回調(diào)函數(shù)就會(huì)被調(diào)用,回調(diào)函數(shù)的參數(shù)就是子組件帶上來的數(shù)據(jù),這樣就可以在父組件中使用子組件的數(shù)據(jù)了,
兄弟之間的傳遞:我們可以使用事件總線(eventBus)來輕松的解決,其實(shí)就是發(fā)布訂閱者模式
今天我們要看的是父組件如何直接調(diào)取子組件的數(shù)據(jù)和方法,而不是通過子組件傳上來的
在這里我們要理解父組件直接拿事件是在父組件上,子組件傳上來數(shù)據(jù),事件是在子組件上,是完全不同的兩種情況
代碼展示
子組件 children.vue,我們?cè)谧咏M件中定義了數(shù)據(jù)sonData和方法sonMethod
// children.vue <template> <div>我是 children</div> </template> <script> export default { data: () => ({ sonData: '我是子組件的數(shù)據(jù)!' }), methods: { sonMethod() { console.log('我是子組件的方法!') } }, computed: { }, created() { } } </script>
父組件 文件
// 父組件 <template> <div> <children ref='ch'> </children> <h2 @click="onclick">父組件</h2> </div> </template> <script> import children from './coms/children' export default { data() { return {} }, components: { children }, methods: { onclick() { // 或者 let chil = this.$refs['ch'] let chil = this.$refs.ch // 父組件可以通過$refs拿到子組件的對(duì)象 // 然后直接調(diào)用子組件的 methods里的方法和data里的數(shù)據(jù) console.log(chil) //子組件對(duì)象 console.log(chil.sonData) // 我是子組件的數(shù)據(jù) console.log(chil.sonMethod()) // 我是子組件的方法 } } } </script>
注意事項(xiàng)
因?yàn)?ref 本身是作為渲染結(jié)果被創(chuàng)建的,在初始渲染的時(shí)候你不能訪問它們 - 它們還不存在!,所以它不是響應(yīng)式的,不能用在模板或者計(jì)算屬性中。
感謝各位的閱讀!關(guān)于“vue中父組件如何通過$refs獲取子組件的值”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)頁(yè)名稱:vue中父組件如何通過$refs獲取子組件的值-創(chuàng)新互聯(lián)
本文來源:http://jinyejixie.com/article8/ddesip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、Google、網(wǎng)站排名、建站公司、App開發(fā)、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容