vue組件中iview的modal組件爬坑問題之modal的顯示與否應(yīng)該是使用v-show
需求:點擊btn,彈出modal顯示圖表(以折現(xiàn)圖為例)
這應(yīng)該是很基本的需求也是很容易實現(xiàn)的,代碼和效果如下:
代碼解釋:setTem是一個方法,改變modal為true,默認(rèn)為false ; chart-line是圖表子組件,通過data向其傳遞參數(shù),data綁定的數(shù)據(jù)是父組件mounted后拿到的數(shù)據(jù)
效果圖:點擊btn后的確顯示了modal框,但是里面的圖表不能顯示,接著改變子組件任何代碼,迫使重新編譯子組件,則子組件的圖表可以正常顯示
分析:當(dāng)點擊btn時,modal框的確彈出來了,但推測其底層是使用v-show來實現(xiàn)顯示與否,所以改變modal為true或fasle只是改變了樣式的顯示與隱藏,所以不會觸發(fā)子組件的重新編譯,父組件在mounted前,已經(jīng)準(zhǔn)備好了所有的視圖,包括子組件的視圖,只是這個時候由于modal的v-show=false,不能被觀察到罷了。但是此時傳給子組件的數(shù)據(jù)并沒有拿到,所有子組件不能顯示圖表;當(dāng)點擊btn的時候,雖然此時父組件傳給子組件的數(shù)據(jù)拿到了,但由于是通過v-show改變顯示與否,子組件不會重新編譯,當(dāng)然不會去讀取數(shù)據(jù),就不會顯示
解決辦法:當(dāng)點擊的時候顯示的促使子組件編譯,給子組件套一個v-if,代碼如下:
效果圖:當(dāng)每次點擊的時候都會重新編譯子組件,所以子組件在每次編譯的時候都能拿到數(shù)據(jù),自然能正常顯示
總結(jié):以上是對vue中使用iview的modal組件解決的一個小問題,推測其使用的是v-show來控制彈出層的顯示與否,當(dāng)子組件不是簡單的顯示基本信息而是要更新數(shù)據(jù)時就需要顯示的促使其重新編譯,否者數(shù)據(jù)無法得到更新。
以上所述是小編給大家介紹的vue組件中iview的modal組件爬坑問題之modal的顯示與否應(yīng)該是使用v-show,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
vue視頻播放插件vue-video-player的具體使用方法
這篇文章主要介紹了vue視頻播放插件vue-video-player的具體使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11詳解vue-router2.0動態(tài)路由獲取參數(shù)
本篇文章主要介紹了詳解vue-router2.0動態(tài)路由獲取參數(shù),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06