vue父組件異步獲取數(shù)據(jù)傳給子組件的方法
但是現(xiàn)在問題是父組件的數(shù)據(jù)是異步獲取的,而子組件一開始就會渲染,如果此時沒有傳入數(shù)據(jù),而子組件又要用到數(shù)據(jù)中的length屬性時就會報錯:
怎么辦呢?最簡單的辦法就是讓子組件條件渲染,當有數(shù)據(jù)的時候才渲染,這樣就不會拋出錯誤了。
但是這還不夠完美,子組件一般不直接使用父組件傳來的值,二是監(jiān)聽一下,然后有變化了的時候再賦值給data,渲染的時候用data里的數(shù)據(jù),這樣就能保證隨時動態(tài)更新數(shù)據(jù)
props: ['floorGoods'], data() { return{ flGoods: {} } }, watch: { floorGoods(val) { this.flGoods = val; console.log(val); } }
在一個方法就是在父組件里用Promise方法異步執(zhí)行數(shù)據(jù)的賦值:
new Promise((resolve,reject) => { if (res.status === 200){ resolve(res); } }).then((res) => { this.category = res.data.data.category; this.adBar = res.data.data.advertesPicture.PICTURE_ADDRESS; this.bannerSwipePics = res.data.data.slides; this.recommendGoods = res.data.data.recommend; // 也可異步獲取再傳給子組件 Promise this.floorSeafood = res.data.data.floor1; this.floorBeverage = res.data.data.floor2; this.floorFruits = res.data.data.floor3; console.log(this.floorFruits); this._initScroll(); }) }).catch(err => { console.log(err); });
這樣也是可以的,異步獲取數(shù)據(jù)導致的報錯的情況會在各個場景出現(xiàn),比如根據(jù)數(shù)據(jù)渲染dom,而對dom有js操作的時候,會因為還沒渲染出來而找不到響應的dom元素報錯,這里可以用vue提供的$nextTick()函數(shù),或者手動開個setTimeout定時器,延遲獲??;使用better-scroll的時候因為dom沒有渲染出來而無法獲取滾動元素的高度,導致無法滾動,同樣可以用vue提供的這個函數(shù),等dom渲染完了后再初始化滾動。
總結
以上所述是小編給大家介紹的vue父組件異步獲取數(shù)據(jù)傳給子組件的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- vue父組件中獲取子組件中的數(shù)據(jù)(實例講解)
- 詳解VUE里子組件如何獲取父組件動態(tài)變化的值
- Vue父組件如何獲取子組件中的變量
- vue 父組件通過$refs獲取子組件的值和方法詳解
- vue.js 子組件無法獲取父組件store值的解決方式
- vue實現(xiàn)父組件獲取子組件的方法或屬性值詳解
- vue子組件如何獲取父組件的內容(props屬性)
- vue中實現(xiàn)子組件接收父組件方法并獲取返回值
- vue子組件獲取到它父組件數(shù)據(jù)的4種方法
- VUE父組件異步獲取數(shù)據(jù),子組件接收的值為空的問題
- vue父組件異步如何獲取數(shù)據(jù)傳給子組件
- vue3父組件使用ref獲取子組件的屬性和方法
- vue子組件實時獲取父組件的數(shù)據(jù)實現(xiàn)
相關文章
vue3+arco design通過動態(tài)表單方式實現(xiàn)自定義篩選功能
這篇文章主要介紹了vue3+arco design通過動態(tài)表單方式實現(xiàn)自定義篩選,本文主要實現(xiàn)通過動態(tài)表單的方式實現(xiàn)自定義篩選的功能,用戶可以自己添加篩選的項目,篩選條件及篩選內容,需要的朋友可以參考下2024-05-05vuex通過getters訪問數(shù)據(jù)為undefined問題及解決
這篇文章主要介紹了vuex通過getters訪問數(shù)據(jù)為undefined問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08mui-player自定義底部導航在vue項目中顯示不出來的解決
這篇文章主要介紹了mui-player自定義底部導航在vue項目中顯示不出來的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12vue為什么v-for的優(yōu)先級比v-if高原理解析
這篇文章主要為大家介紹了vue為什么v-for的優(yōu)先級比v-if高原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05Ant Design Vue pro 動態(tài)路由的實現(xiàn)和打包方式
這篇文章主要介紹了Ant Design Vue pro 動態(tài)路由的實現(xiàn)和打包方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06使用webstorm配置vue+element開發(fā)環(huán)境
這篇文章主要介紹了使用webstorm配置vue+element開發(fā)環(huán)境,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10Vue3子組件watch無法監(jiān)聽父組件傳遞的屬性值的解決方法
這篇文章主要介紹了Vue3子組件watch無法監(jiān)聽父組件傳遞的屬性值的解決方法,文中通過代碼示例講解的講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下2024-10-10