詳解Vue 之 父子元件的通訊 ,點進不虧

2021-10-16 22:48:55 字數 956 閱讀 3886

子元件是不能引用父元件或者vue例項的資料的,但是,在開發中,往往一些資料確實需要從上層傳遞到下層:

比如在乙個頁面中,我們從伺服器請求到了很多的資料。其中一部分資料,並非是我們整個頁面的大元件來展示的,而是需要下面的子元件進行展示。

這個時候,並不會讓子元件再次傳送乙個網路請求,而是 直接讓大元件(父元件)將資料傳遞給小組件(子元件)。

如何進行父子元件間的通訊呢?

通過props向子元件傳遞資料

通過自定義事件向父元件傳送訊息

在下面的**中,我直接將vue例項當做父元件,並且其中包含子元件來簡化**。

真實的開發中,vue例項和子元件的通訊和父元件和子元件的通訊過程是一樣的。

dom框架

建立vue例項

建立元件構造器物件

編寫元件模板(這裡特指template標籤內的內容)

註冊元件(全域性、區域性)

填充dom框架(繫結)

props基本用法

在元件中,使用選項props來宣告需要從父級接收到的資料。

props的值有兩種方式:

字串陣列,陣列中的字串就是傳遞時的名稱。

物件,物件可以設定傳遞時的型別,也可以設定預設值等。

Vue 之父子元件間的通訊

兄弟元件間傳值 一覽圖 1 靜態傳值 1 在父元件中 在子元件佔位符中直接寫 引數名 引數值 father this is father h1 靜態 父傳子 字串 msg from father.div template 引入子元件,必須 import child from components c...

Vue元件化之父子元件

在父元件裡使用子元件時,父元件的模板最外層一定要有div塊 元件內部是無法訪問vm例項裡的data資料的,元件有自己的儲存資料的位置。元件也有data methods 生命週期函式等屬性,但data必須是乙個函式且返回的是乙個物件,物件內部儲存著資料。為什麼元件裡的data必須是函式形式?當重複使用...

Vue2 0 之父子兄弟元件間通訊

childa childb div template type text ecmascript 6 import childa from components a.vue import childb from components b.vue export default script lang s...