Я нашел решение, которым поделюсь со всеми, если вы застряли в этом.
Что я сделал, так это создал свою собственную разбивку на страницы, так как таким образом класс ng-hide
не добавляется, к счастью, Swiper позволяет сделать это довольно легко.
Для этого добавьте элемент <div>
, чтобы привязать разбивку на страницы так
<ion-slides options="swiper.options" slider="swiper.data.slider">
<ion-slide-page ng-repeat="item in slides.Tasks" >
</ion-slide-page>
</ion-slides>
<div class="custom-swiper-pagination swiper-pagination"></div>
Обратите внимание на класс swiper-pagination
, который я также добавил, это класс Ionic по умолчанию для стилей разбивки на страницы.
Затем создайте привязку в параметрах Swipers в контроллере, как это, чтобы элементы разбивки на страницы автоматически добавлялись в этот новый контейнер div
.
$scope.swiper = {
options: {
pagination: '.custom-swiper-pagination',
paginationClickable: true,
loop: false,
direction: 'horizontal',
spaceBetween: 20,
speed: 600
},
data: {}
};
И, наконец, добавьте немного CSS для стилизации вашего нового div
контейнера. Я скопировал точный материал из файла css Ionic для горизонтальной разбивки на страницы.
.custom-swiper-pagination {
bottom: 0px;
left: 0;
width:100%;
}
.custom-swiper-pagination .swiper-pagination-bullet {
margin: 0 5px;
}
А вот обновленный JSFiddle в качестве живого примера.
Обновить
Как заметил @nico, это не столько ошибка, потому что используется флаг showPager
вместе с ng-if
, чтобы скрыть разбиение на страницы. Но это то, что люди хотели бы контролировать, поэтому, вероятно, это проблема, которую нужно настроить с помощью Ionic.
Мое решение по-прежнему работает как временное исправление, если вы не хотите вручную редактировать код библиотеки Ionic.
Некоторые из поднятых вопросов по этому поводу можно найти здесь Ionic's Репозиторий GitHub
person
Will.Harris
schedule
29.01.2016