您好,登錄后才能下訂單哦!
使用Vue怎么實現(xiàn)孫組件向爺組件通信?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
Vue是一套用于構(gòu)建用戶界面的漸進式JavaScript框架,Vue與其它大型框架的區(qū)別是,使用Vue可以自底向上逐層應(yīng)用,其核心庫只關(guān)注視圖層,方便與第三方庫和項目整合,且使用Vue可以采用單文件組件和Vue生態(tài)系統(tǒng)支持的庫開發(fā)復(fù)雜的單頁應(yīng)用。
思路
在孫組件被點擊后 emit 事件 1 和孫組件的名字
在父組件上監(jiān)聽孫組件 emit 出的事件 1,再次 emit 事件 2
在爺組件上監(jiān)聽父組件 emit 出的事件 2,并觸發(fā)處理函數(shù)
這個處理函數(shù)將父組件傳出的子組件名字顯示在父組件上
<!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <title></title> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.7/dist/vue.js"></script> </head> <body> <div id="app"> child name: {{child}} <parent v-on:say2='greeting("child", $event)'></parent> </div> </body> <script> Vue.component('parent', { template: ` <div> <child v-on:say1='$emit("say2", $event)'></child> </div> ` }) Vue.component('child', { template: ` <div> child <button v-on:click='$emit("say1", "Jack")'>greeting</button> </div> ` }) new Vue({ el: '#app', data: { child: '', }, methods: { greeting: function (key, value) { this[key] = value }, } }) </script> </html>
看完上述內(nèi)容,你們掌握使用Vue怎么實現(xiàn)孫組件向爺組件通信的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。