vue父子组件传值:异步传输数据的问题
生活随笔
收集整理的這篇文章主要介紹了
vue父子组件传值:异步传输数据的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在開發圖片裁切頁面時,用到了vue-cropper組件,大概流程是:
其中組件關系:
<upload><crop>……在上傳完成后,readAsDataURL方法將圖片讀取傳值給子組件crop,但此時crop組件的img參數并沒有讀取到圖片數據,巧合地,在開發過程中通過隨意改變crop組件的代碼導致vue重新加載(熱更新)此時crop組件就可以加載出圖片,通過此行為可以判斷出,子組件在父組件完成操作前已經完成了dom渲染,加上readAsDataURL為異步方法,所以導致crop組件并沒有接收到圖片數據就完成了渲染。
解決方案:
在crop子組件加載時,我們先通過v-if判斷是否完成img數據讀取,再去選擇性加載crop組件,事實上在本次開發過程中的本意也是如此。按錯誤寫法,打開頁面時,crop已經渲染在了頁面,由此就可以直接判斷出該問題。改正后只會在選擇圖片后才會出現crop組件元素。
前端道路,任重道遠。
總結
以上是生活随笔為你收集整理的vue父子组件传值:异步传输数据的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 金山手机毒霸屏蔽广告 19家广告平台联合
- 下一篇: JS缓存与浏览器缓存技术详解 学习笔记