是否可以在启动时禁用幻灯片功能,同时我仍然可以设置自己的活动页面?
我发现这可以解决这个问题,用HTML格式
<ion-slide-box active-page="disableSlide()">
<ion-slide>Slide 1</ion-slide>
<ion-slide ng-click="previous()">Slide 2</ion-slide>
<ion-slide>Slide 3</ion-slide>
</ion-slide-box>
在JavaScript中,
$scope.disableSlide = function(){
$ionicSlideBoxDelegate.enableSlide(false);
return 1;
}
$scope.previous = function(){
$ionicSlideBoxDelegate.previous();
}
但是当我点击上一个时,我收到此错误
Error: [$compile:nonassign] Expression 'disableSlide()' used with directive 'ionSlideBox' is non-assignable!
这里的演示,http://codepen.io/anon/pen/Bodqor
请帮帮我,谢谢。
答案 0 :(得分:1)
<ion-slide-box>
没有active-page
属性,您可以在documentation中看到。
由于您已禁用滑块,因此您收到该错误:
$ionicSlideBoxDelegate.enableSlide(false);
但您仍希望使用ng-click
更改幻灯片。
如果要在显示视图时禁用滑块,可以使用$ionicSlideBoxDelegate.enableSlide(false);
,但最好将其包装在函数中:
function changeSlideStatus()
{
$scope.slideEnabled = !$scope.slideEnabled;
$scope.slideStatusTest = $scope.slideEnabled ? "Enabled" : "Disabled";
$ionicSlideBoxDelegate.enableSlide($scope.slideEnabled);
}
$scope.slideEnabled
是一个布尔属性,用于定义状态 滑块。
当导航进入您的视图时,您可以更改状态:
$scope.$on('$ionicView.enter', function(){
changeSlideStatus();
});
您可以使用此Plunker。在标题中,您只需调用changeSlideStatus();
:
<ion-nav-buttons side="left">
<button class="button button-positive"
ng-click="changeStatus()">
{{slideStatusTest}}
</button>
</ion-nav-buttons>
PS:它开始被禁用。