mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
feat(ionSlideBox): hide/show pager depending on dynamic show-pager attribute
This commit is contained in:
20
js/angular/directive/slideBox.js
vendored
20
js/angular/directive/slideBox.js
vendored
@@ -133,12 +133,20 @@ function($timeout, $compile, $ionicSlideBoxDelegate, $ionicHistory) {
|
||||
'</div>',
|
||||
|
||||
link: function($scope, $element, $attr, slideBoxCtrl) {
|
||||
// If the pager should show, append it to the slide box
|
||||
if ($scope.$eval($scope.showPager) !== false) {
|
||||
var childScope = $scope.$new();
|
||||
var pager = jqLite('<ion-pager></ion-pager>');
|
||||
$element.append(pager);
|
||||
$compile(pager)(childScope);
|
||||
$attr.$observe('showPager', function(show) {
|
||||
show = $scope.$eval(show);
|
||||
getPager().toggleClass('hide', !show);
|
||||
});
|
||||
|
||||
var pager;
|
||||
function getPager() {
|
||||
if (!pager) {
|
||||
var childScope = $scope.$new();
|
||||
pager = jqLite('<ion-pager></ion-pager>');
|
||||
$element.append(pager);
|
||||
pager = $compile(pager)(childScope);
|
||||
}
|
||||
return pager;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -41,13 +41,13 @@
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<body ng-init="$root.showPager = true">
|
||||
|
||||
<div ng-controller="SlideCtrl">
|
||||
<ion-side-menus>
|
||||
<ion-side-menu-content>
|
||||
<ion-header-bar left-buttons="leftButtons" right-buttons="rightButtons" title=""></ion-header-bar>
|
||||
<ion-slide-box on-slide-changed="slideChanged(index)" show-pager="true" pager-click="pagerClick(index)" does-continue="true" auto-play="false">
|
||||
<ion-slide-box on-slide-changed="slideChanged(index)" show-pager="{{$root.showPager}}" pager-click="pagerClick(index)" does-continue="true" auto-play="false">
|
||||
<ion-slide ng-controller="FirstSlideCtrl">
|
||||
<h3>Thank you for choosing the Awesome App!</h3>
|
||||
<div id="logo">
|
||||
|
||||
Reference in New Issue
Block a user