vue父組件向子組件動態(tài)傳值的兩種方法
在一些項目需求中需要父組件向子組件動態(tài)傳值,比如我這里的需求是,父組件動態(tài)通過axios獲取返回的圖片url數(shù)組然后傳給子組件,上傳圖片的子組件拿到該數(shù)組后進(jìn)行遍歷并展示圖片
方法有兩種,
方法一:
props傳值,這里注意一個問題,傳過來的值需要用watch監(jiān)聽并賦值,否則這里獲取到的是空數(shù)組
父組件:
<uploadImg :width="200" :height="200" name="productImage" size="750px*750px" ref="productImage" :src-list="this.productImage"></uploadImg>
this.productImage=res.data.cover;
這里把通過后臺返回的數(shù)組賦值給
this.productImage
,然后把該數(shù)組傳給子組件定義的props屬性src-list
子組件:
watch:{ srcList(curVal,oldVal){ if(curVal){ ; this.uploadImg=curVal; } }, }
然后子組件成功獲取到該數(shù)組
方法二:
通過ref屬性,父組件調(diào)用子組件的方法,把要傳的數(shù)組作為參數(shù)傳給子組件,子組件獲取該參數(shù),并使用
父組件:
this.$refs.productImage.getSrcList(res.data.cover);
子組件:
getSrcList(val){ this.uploadImg=val; }
PS:下面看下vuejs動態(tài)組件給子組件傳遞數(shù)據(jù)
通過子組件定義時候的props可以支持父組件給子組件傳遞數(shù)據(jù),這些定義的props在子組件的標(biāo)簽中使用綁定屬性即可,但是如果使用的是<component>動態(tài)組件,這個時候就沒有顯式的子組件標(biāo)簽,要給子組件傳遞數(shù)據(jù)需要在<component> 中進(jìn)行綁定
<div class="app" id="deviceready"> <component :is="currentView" :user_name.sync="user_name" :DOB.sync="DOB"></component> </div>
組件的作用于是獨(dú)立的
組件的作用于是獨(dú)立的,如果要從跟組件獲取數(shù)據(jù),那么需要一層層的傳遞才行,也就是說子組件只能從直接父組件獲取數(shù)據(jù),如果是根組件的數(shù)據(jù),那么父組件就要繼續(xù)暴露pops從而綁定來自根組件的數(shù)據(jù)。
相關(guān)文章
Vue-Element-Admin集成自己的接口實現(xiàn)登錄跳轉(zhuǎn)
關(guān)于這個Vue-element-admin中的流程可能對于新的同學(xué)不是很友好,所以本文將結(jié)合實例代碼,介紹Vue-Element-Admin集成自己的接口實現(xiàn)登錄跳轉(zhuǎn),感興趣的小伙伴們可以參考一下2021-06-06vue中的路由跳轉(zhuǎn)tabBar圖片和文字的高亮效果
這篇文章主要介紹了vue中的路由跳轉(zhuǎn)tabBar圖片和文字的高亮效果,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10解決vue組件中使用v-for出現(xiàn)告警問題及v for指令介紹
這篇文章主要介紹了解決vue組件中使用v-for出現(xiàn)告警問題,在文中給大家介紹了v for指令,需要的朋友可以參考下2017-11-11