Vue元件 父子元件之間的通訊

2021-09-29 06:58:17 字數 1514 閱讀 3570

最近在學習vue,元件之間的通訊是難點也是重點,所以想稍微總結一下。

由於元件的模板無法使用父元件中的資料,所以需要用到props。

prop 是你可以在元件上註冊的一些自定義特性。當乙個值傳遞給乙個 prop 特性的時候,它就變成了那個元件例項的乙個屬性。在子元件中註冊了props後,就能將父元件的資料傳進來,我們便能夠在元件例項中訪問這個值,就像訪問 data 中的值一樣。

"blog-post-demo">

"火影忍者">

"死神">

"海賊王">

js**中如果props在全劇元件中註冊需要寫在例項前,這樣例項中才能用到。

vue.

component

('blog-post',)

newvue(}

);

這樣模板中就能用到div中的mytitle了:

如果是複雜點的資料就希望寫在父元件的data中了,注意使用時最好繫結key:

"example">

"post in posts"

v-bind

:key="post.id"

v-bind

:myname="post.name"

v-bind

:mytitle="post.title">

vue.

component

('blog-post',)

newvue(,

,]}}

);

結果如下:

將props寫在例項中的元件也是可以的:

new

vue(,,

]}, components:}}

);

說完在子元件中使用父元件的資料,類似的,有時父元件需要監聽子元件的動作,希望子元件的事件能夠改變父元件的資料。

這時候需要用到$emit方法,將子元件的事件傳給父元件,同時繫結乙個方法,這樣就能對父元件的資料進行修改。

乙個簡單的例子:

vue父子元件之間通訊

1 父元件向子傳遞引數 只需要在子元件內使用props即可獲取。2 子元件返回引數給父元件 子元件中設定 emit func data 父元件中直接取出func即可。注意 父元件向子元件傳參是單向的,若子元件直接修改父元件的引數,vue會報錯。如果需要修改,則有2種方式 方式一 在子元件中複製父變數...

vue父子元件之間的通訊

父子元件 父子元件的關係 通常元件a在它的模板中使用元件b,此時元件a為父元件,元件b為子元件。父子元件應該解耦,元件例項的作用域是孤立的,子元件中不能直接使用父元件的資料。應該使用props傳遞父元件到子元件的資料,子元件通過events給父元件發訊息,以此實現父子元件間的通訊。如上,在其他元件內...

vue父子元件之間的通訊

一 父元件傳值給子元件 1.子元件,首先定義乙個子元件,然後在子元件中註冊props,然後建立乙個名為infos的屬性,用來接收從父元件傳過來的資料 2.父元件,在父元件中引入子元件,並加入子元件標籤,在子元件標籤中新增子元件props中建立的屬性,將值通過該屬性傳遞給子元件 父元件 二 子元件傳值...