VUE DOM加載后執(zhí)行自定義事件的方法
最近想用vue做一個小東西,誰知道一開始就遇到了一個棘手的問題:
首先我想在頁面加載前通過ajax請求頁面展示所需要的信息,于是我在created鉤子函數(shù)里面請求了我想要的數(shù)據(jù)
created:function(){
var url="/indexitem";
var _self=this;
$.get(url,function(data){
_self.items=data;
});
$.get('/banner',function(data){
_self.banners=data;
});
}
這一步很順利,接下來就是要將數(shù)據(jù)綁定到對應(yīng)的元素中,我在這里需要將請求得到的圖片地址綁定到輪播圖對應(yīng)的元素中,
我這里采用的是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" :style="{backgroundImage: 'url(' + banners[banners.length-1].src+ ')',backgroundSize:'cover'}"></a></div>
<div class="mui-slider-item" v-for="cc in banners"><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" :style="{backgroundImage: 'url(' + cc.src+ ')',backgroundSize:'cover'}"></a></div>
<div class="mui-slider-item mui-slider-item-duplicate"><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" :style="{backgroundImage:'url('+banners[0].src+')',backgroundSize:'cover'}"></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>
我綁定完數(shù)據(jù)之后,發(fā)現(xiàn)輪播圖失效了,因為我之前用原生js寫的時候遇到過同樣的問題,我當(dāng)時的解決辦法是等頁面加載完成后重新進(jìn)行滑動初始化,但是今天用vue我蒙了,試了很多生命周期函數(shù)也無法確保在頁面加載完成后進(jìn)行初始化。
vue.js更多的希望是通過數(shù)據(jù)綁定來代替直接通過dom操作,而vue并沒有提供渲染完成的鉤子。
所以我今天的解決辦法是:setTimeout()
在實例化VUE對象后添加下面代碼:
setTimeout(function(){
console.log($('#slider').length);
var gallery = mui('.mui-slider');
gallery.slider({
interval: 3000//自動輪播周期,若為0則不自動播放,默認(rèn)為0;
});
},1000);
以上這篇VUE DOM加載后執(zhí)行自定義事件的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于Uncaught(in?promise)TypeError:?list?is?not?iterable報錯
這篇文章主要給大家介紹了關(guān)于Uncaught(in?promise)TypeError:?list?is?not?iterable報錯的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-08-08
詳解Nuxt內(nèi)導(dǎo)航欄的兩種實現(xiàn)方式
這篇文章主要介紹了詳解Nuxt內(nèi)導(dǎo)航欄的兩種實現(xiàn)方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
vue項目持久化存儲數(shù)據(jù)的實現(xiàn)代碼
這篇文章主要介紹了vue項目持久化存儲數(shù)據(jù)的實現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-10-10
Vue3嵌套路由中使用keep-alive緩存多層的實現(xiàn)
本文介紹了Vue3 嵌套路由中使用?keep-alive緩存多層的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
vue自定義穿梭框支持遠(yuǎn)程滾動加載的實現(xiàn)方法
這篇文章主要介紹了vue自定義穿梭框支持遠(yuǎn)程滾動加載,iview是全局注入,基本使用原先的類名進(jìn)行二次創(chuàng)建公共組件,修改基礎(chǔ)js實現(xiàn)邏輯,本文結(jié)合實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08

