swiper在angularjs中使用循環(huán)輪播失效的解決方法
bug描述:我在anjularjs 中使用了swiper輪播圖,通過動態(tài)獲取到數據插入swiper-slide中,我在swiper初始化中設置了loop(循環(huán)),但是在出現(xiàn)了一點小問題,swiper會失效,劃不動,當我設置固定的數據通過ng-src 插入到swiper-silde中,會正常輪播,但是第一張圖會出現(xiàn)空白。通過查詢了資料,發(fā)現(xiàn)swiper和angularjs執(zhí)行的機制是不同的,swiper的機制是:初始化的時候自動掃描swiper-wrapper類下有多少個swiper-slide類塊,則允許滑動多少個塊。 而在angular始終在swiper初始化之后定義,swiper則無法正確scan有多少個slide(實際上找到一個待循環(huán)模板),所以劃不動。
我在網上搜了一點資料很多人都是通過添加兩個屬性就解決了,但我的還是不行,以下為插入的屬性。
observer:true,//修改swiper自己或子元素時,自動初始化swiper observeParents:true,//修改swiper的父元素時,自動初始化swiper12
我通過在link中初始化swiper中添加延時計時器,可以解決,盡管我延遲的時間設置為0,但是正常的效果出現(xiàn)了,我也不知道什么問題,如果有人知道可以解答一下。
以下為我的代碼,html代碼如下
<div class="swiper-slide" ng-repeat="item in arr">
<img ng-src="img/{{item}}" alt="" />
</div>
指令中的代碼如下
link:function(){
setTimeout(function(){
var swiper=new Swiper(".swiper3",{
pagination: '.swiper-pagination3',
paginationClickable: true,
centeredSlides: true,
autoplay: 2000,
loop : true,
autoplayDisableOnInteraction: false,
});
},0);
}
以上這篇swiper在angularjs中使用循環(huán)輪播失效的解決方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
基于AngularJS+HTML+Groovy實現(xiàn)登錄功能
AngularJS是一款客戶端MVC的javascript框架,而客戶端MVC代表未來架構(為什么要使用MVC+REST+CQRS架構),如果你有Struts或SpringMVC等后端MVC框架編程經驗,學習Angular會很快,基本是按照同一個MVC思路實現(xiàn)的,本文給大家介紹AngularJS+HTML+Groovy實現(xiàn)登錄功能2016-02-02
Angular 2父子組件數據傳遞之局部變量獲取子組件其他成員
這篇文章主要給大家介紹了關于Angular 2父子組件之間數據傳遞之局部變量獲取子組件其他成員的相關資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-07-07
Angular使用ControlValueAccessor創(chuàng)建自定義表單控件
這篇文章主要介紹了Angular使用ControlValueAccessor創(chuàng)建自定義表單控件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03

