有没有办法动态改变 ion-slide box slide-interval 值?

Is there a way to dynamically change ion-slide box slide-interval value?

几天来我一直在为这个问题苦苦挣扎,非常感谢你的帮助。

我有一个指令,其中有一个广告幻灯片,其幻灯片间隔与范围内的一个 var 相关联,我试图通过更新该变量来更改每个广告幻灯片在 slideChanged 函数中保持活动状态的时间,下一行代码是重新加载 ionicSlideBoxDeletegate,但是,它根本没有加速动画。 这是代码...

.directive('adDirective', function( $ionicSlideBoxDelegate ){
    return {
        restrict: "E",
        replace: true,
        template: ( '<div class="absolute promo-banner-wrp">'
                    + '<ion-slide-box ng-init="disableSwipe()" auto-play="true" on-slide-changed="slideChanged(index)" show-pager="false" does-continue="true" slide-interval="{{speed}}" ng-if="ads.length">'
                        + '<ion-slide ng-click="adTap(ad)" ng-repeat="ad in ads">'
                            + '<img ng-src="{{ad.src}}" />'
                        + '</ion-slide>'
                    + '</ion-slide-box></div>' ),
        controller: function($scope) {
            $scope.slideChanged = function ( index ) {
                $scope.speed = parseInt( $scope.ads[index].category + '000' );
                $ionicSlideBoxDelegate.update();
            };
            $scope.speed = 2000;//In miliseconds
        }
    }
})

我认为,为了完成您的要求,您必须修改 ionic.bundle.js,因为我不确定这是否受支持。相反,您可以关闭自动播放并自行管理循环:

var nextSlide = function(){
    $ionicSlideBoxDelegate.$getByHandle(YOUR_DELEGATE_HANDLE).next(ANIMATION_SPEED);
    setTimeout(nextSlide, YOUR_SLIDE_INTERVAL);
}
nextSlide();

您可能还想捕捉到用户自己更换幻灯片并重置您的超时功能。