bug描述:我在anjularjs 中使用了swiper輪播圖,經過動態獲取到數據插入swiper-slide中,我在swiper初始化中設置了loop(循環),可是在出現了一點小問題,swiper會失效,劃不動,當我設置固定的數據經過ng-src 插入到swiper-silde中,會正常輪播,可是第一張圖會出現空白。經過查詢了資料,發現swiper和angularjs執行的機制是不一樣的,swiper的機制是:初始化的時候自動掃描swiper-wrapper類下有多少個swiper-slide類塊,則容許滑動多少個塊。 而在angular始終在swiper初始化以後定義,swiper則沒法正確scan有多少個slide(實際上找到一個待循環模板),因此劃不動。html
前端精品教程:百度網盤下載前端
我在網上搜了一點資料不少人都是經過添加兩個屬性就解決了,但個人仍是不行,如下爲插入的屬性。angularjs
1
2
|
observer:
true
,
//修改swiper本身或子元素時,自動初始化swiper
observeParents:
true
,
//修改swiper的父元素時,自動初始化swiper12
|
我經過在link中初始化swiper中添加延時計時器,能夠解決,儘管我延遲的時間設置爲0,可是正常的效果出現了,我也不知道什麼問題,若是有人知道能夠解答一下。app
如下爲個人代碼,html代碼以下ide
1
2
3
|
<
div
class
=
"swiper-slide"
ng-repeat
=
"item in arr"
>
<
img
ng-src
=
"img/{{item}}"
alt
=
""
/>
</
div
>
|
指令中的代碼以下oop
前端精品教程:百度網盤下載spa
1
2
3
4
5
6
7
8
9
10
11
12
13
|
link:
function
(){
setTimeout(
function
(){
var
swiper=
new
Swiper(
".swiper3"
,{
pagination:
'.swiper-pagination3'
,
paginationClickable:
true
,
centeredSlides:
true
,
autoplay: 2000,
loop :
true
,
autoplayDisableOnInteraction:
false
,
});
},0);
}
|