您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關VUE中如何實現DOM加載后執行自定義事件,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
最近想用vue做一個小東西,誰知道一開始就遇到了一個棘手的問題:
首先我想在頁面加載前通過ajax請求頁面展示所需要的信息,于是我在created鉤子函數里面請求了我想要的數據
created:function(){ var url="/indexitem"; var _self=this; $.get(url,function(data){ _self.items=data; }); $.get('/banner',function(data){ _self.banners=data; }); }
這一步很順利,接下來就是要將數據綁定到對應的元素中,我在這里需要將請求得到的圖片地址綁定到輪播圖對應的元素中,
我這里采用的是mui框架中提供的圖片輪播(移動端,支持手勢滑動),問題恰恰就這里:
<div id="slider" class="mui-slider" @click="greet()"> <div class="mui-slider-group mui-slider-loop"> <div class="mui-slider-item mui-slider-item-duplicate"><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" :></a></div> <div class="mui-slider-item" v-for="cc in banners"><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" :></a></div> <div class="mui-slider-item mui-slider-item-duplicate"><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" :></a></div> </div> <div class="mui-slider-indicator"> <div class="mui-indicator mui-active"></div> <div class="mui-indicator"></div> <div class="mui-indicator"></div> <div class="mui-indicator"></div> </div> </div>
我綁定完數據之后,發現輪播圖失效了,因為我之前用原生js寫的時候遇到過同樣的問題,我當時的解決辦法是等頁面加載完成后重新進行滑動初始化,但是今天用vue我蒙了,試了很多生命周期函數也無法確保在頁面加載完成后進行初始化。
vue.js更多的希望是通過數據綁定來代替直接通過dom操作,而vue并沒有提供渲染完成的鉤子。
所以我今天的解決辦法是:setTimeout()
在實例化VUE對象后添加下面代碼:
setTimeout(function(){ console.log($('#slider').length); var gallery = mui('.mui-slider'); gallery.slider({ interval: 3000//自動輪播周期,若為0則不自動播放,默認為0; }); },1000);
關于“VUE中如何實現DOM加載后執行自定義事件”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。