在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue添加路由動畫導(dǎo)致組件方法失敗。

vue添加路由動畫導(dǎo)致組件方法失敗。

1:問題描述
想給router-view添加 切換時的動畫效果 于是給<router-view>標(biāo)簽上添加 <transition>屬性!但是發(fā)現(xiàn)加完這個屬性后 切換路由后發(fā)現(xiàn) 要切換到的組件里的方法里觸發(fā)初始化的函數(shù)失效了 進查找發(fā)現(xiàn)時 函數(shù)運行時dom元素沒有加載到頁面之中!但是如果不加路由動畫則正常獲取沒有問題!

2:沒有路由動畫時候的截圖如下

clipboard.png
再要切換的組建之中 方法掛在mounted上截圖如下

clipboard.png
是可以獲取相應(yīng)dom并可以完成初始化的!

當(dāng)加入路由后

clipboard.png
在要切換組件中就無法獲取到頁面中的dom了

3:在網(wǎng)上搜了很多可能是因為搜索關(guān)鍵詞的問題 答案一般都是說需要給函數(shù)中添加$nextTick 但是添加后沒有效果,我的理解是nextTick是監(jiān)聽數(shù)據(jù)變化后修改 但是我這個目前還是靜態(tài)頁面不涉及到數(shù)據(jù)的變動并且沒有路由動畫之前都沒有問題!后來我在切換組件的函數(shù)中添加了 一個定時器 在定時器后是可以獲取出相關(guān)的dom數(shù)量了 但是第一寫定時器感覺不是正確解決辦法第二就是在定時器執(zhí)行之前頁面樣式還是出現(xiàn)錯誤!

請大家?guī)兔纯丛趺唇鉀Q一下 謝謝!

回答
編輯回答
歆久

兩種辦法
1.看下你定義的動畫多少s。然后setTimeout用在多少s后在調(diào)用
2.在methods里面定義一個函數(shù)去獲取你要的dom,然后在過渡動畫加上JavaScript鉤子,在進入完成后在調(diào)用函數(shù)即可

clipboard.png

2018年7月10日 20:59