天天看點

Taro如何實作頁面之間通信_Vue核心:元件之間是如何進行通信的,都有哪些通信方式?...問題:vue元件間如何進行通信?

學習更多的前端知識,歡迎右上角關注一下

問題:vue元件間如何進行通信?

本章主要講解的同一個頁面index.vue下的不同元件間footer.vue和header.vue,header.vue裡面又使用了headerLeft.vue元件通信的問題。

例如:父子元件通信index.vue與header.vue、同級元件通信header.vue與footer.vue、父孫元件通信index.vue與headerLeft.vue。

Taro如何實作頁面之間通信_Vue核心:元件之間是如何進行通信的,都有哪些通信方式?...問題:vue元件間如何進行通信?
對于這個問題的一般回答:

在項目中采用bus中央事件總線的方法。

對于這個問題的詳細解答

元件間資料互相傳遞:

  1. 可以通過props向子元件中傳值
  2. 可以通過v-model文法糖進行向子元件傳值,子元件調用父元件的方法
  3. 可以通過.sync修飾符,進行父子元件間資料的互相傳遞
  4. 可以通過v-bind="$attrs",将父元件的值傳遞到孫元件中

元件間方法互相調用:

  1. 可以通過v-on監聽方法,進行子元件調用父元件的方法
  2. 可以通過v-on="$listeners",進行孫元件調用父元件的方法

元件間屬性互相查詢:

  1. 可以通過ref屬性,父元件查詢子元件的方法
  2. 可以通過this.$parennt屬性,子元件查詢父元件
  3. 可以通過this.$children屬性,父元件查詢子元件

(注意$children是一個類數組,使用時要具體指定某一個子元件,比如this.$children[0])

繼續閱讀