最近在學習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中建立的屬性,將值通過該屬性傳遞給子元件 父元件 二 子元件傳值...