slidebox使用$ionicSlideBoxDelegate.$getByHandle("slideimgs").update();更新后会出现滚动不自动循环滚动的问题
发布于 2年前 作者 yangchao2015 15023 次浏览 来自 问答

<ion-slide-box on-slide-changed="slideHasChanged($index)" class="slidebox" auto-play="true" slide-interval="4000" delegate-handle="slideimgs" does-continue="true"> <ion-slide ng-repeat="imginfo in slideimgs"> </ion-slide> </ion-slide-box> 获得数据后更新slidebox JggService.getSlideImgs(BW.hostname,BW.token,function(data){ $scope.slideimgs = data.imgs; $ionicSlideBoxDelegate.$getByHandle(“slideimgs”).update(); },function(){ }); slidebox就会出现不能循环滚动,就是滚动到最后一张不会在从头开始, does-continue="true"没有生效,是怎么回事,怎么解决这个问题,是bug吗?

13 回复

需要调用什么函数让does-continue="true"轮播重新加载实现吗?

ionic中文社区人好少,没人遇到过这个问题吗?

看不懂 英文文档 中文文档又没有 ionic 现在还不懂如何下手

还好啦,就是遇到一些问题在官方网站找不到答案,你是初学者?

你可以看看这个http://www.haomou.net/2014/08/09/2014_ionic_api_css/,这上面有中文,虽然内容少了一些,但是可以帮助你快速熟悉ionic

你可以试试这样 $ionicSlideBoxDelegate.$getByHandle(“slideimgs”).update(); 这里改成 $timeout(function(){ $ionicSlideBoxDelegate.$getByHandle(“slideimgs”).update(); } , 1000);

这个问题 不知道楼主 解决了没有。目前我也遇到此问题了。

ng-repeat的数据是延迟加载过来的。 当 img 没有渲染结束是不能工作的,你这样改一下:

<ion-slide-box ng-if="slideimgs" on-slide-changed="slideHasChanged($index)" class="slidebox" auto-play="true" slide-interval="4000" delegate-handle="slideimgs" does-continue="true"> <ion-slide ng-repeat="imginfo in slideimgs">

</ion-slide> </ion-slide-box>

在ion-slide-box 加上 ng-if = “repeat value”

@hoosin 楼主的问题是能加载出来 也能自动播放,但是就是 不再是循环播放了。你这个方法是肯定不行的。

楼主解决了吗?也遇到类似问题

@starrychan 已经解决了,之后再调用$ionicSlideBoxDelegate.$getByHandle(“slideimgs”).loop(true);就可以了

@yangchao2015 牛逼,完美解决!还是循环loop的问题。对了$ionicSlideBoxDelegate.loop(true);也可以。.$getByHandle(“slideimgs”)好像没啥用啊

回到顶部