今天寫VUE時我在element-ui的el-dialog組件中包含了一個子組件。
Editor爲子組件
然後我通過$refs調用該子組件裏面的方法,在控制檯上卻顯示undefined。
init方法爲dialog彈窗時纔會觸發的方法
'setHtml' of undefined"
因爲自己之前用過refs來調用子組件方法,但是沒有遇到過這種問題,很是無奈加之彷徨。
後來在度娘懷裏遨遊一番,發現和element-ui框架有關係,總之什麼關係呢,我也說不清啦。
直接看解決方法吧。
首先,你要確保你的e-dialog組件內已經加了回調函數 @open(具體使用方法點擊查看element-ui官方文檔)
@open=“init()”
然後在methods裏的init方法內改造之下面這個樣子啦:
this.$nextTick(()=>{ xxxxxx })
其實就是加上一個this.$nextTick啦,這個回調函數的意思呢,其實簡單理解就是等所有的DOM元素節點都渲染完成以後才執行其裏面的方法。具體什麼意思呢,請參考百度,這裏就不做詳細介紹了。
作者:風中凌亂的男子
鏈接:https://www.jianshu.com/p/d90984d6cb3a
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。