Компонент Ionic 2 Slides-как получить доступ к API Swiper
использование компонента ion-slides (4 слайда) на странице приветствия приложения/слайды. Мне нужна возможность для пользователя пропустить последний слайд. Документы говорят, что реализация Ion-слайдов Swiper API. Мне нужно получить доступ к таким методам, как:mySwiper.slideTo(index, speed, runCallbacks);
советы о том, как реализовать?
3 ответов
вы можете передать функцию в свойстве options.
@Component({
selector: 'my-component',
template: '<ion-slides [options]="options">
<ion-slide>Slide1</ion-slide>
<ion-slide>Slide2</ion-slide>
</ion-slides>',
directive: [IONIC_DIRECTIVES]
})
export class MyComponent {
public slider: any;
constructor() {
this.options = {
onlyExternal: false,
onInit: (slides: any) =>
this.slider = slides
}
}
click() {
this.slider.sliderNext(true, 250);
}
}
для дальнейших опций посмотрите на API для подметалка.
Если вы ищете простое решение без специальных указаний, вы можете попробовать это
constructor(
private _app: IonicApp
){}
ngAfterViewInit() {
this._slider = this._app.getComponent('my-slider');
}
goToSlide(slideIndex){
this.slider.slider.slideTo(slideIndex);
}
вы можете сделать услугу с помощью Swiper
@Injectable()
export class HomeSwiper {
swiper = null;
initSwiper(selector) {
this.swiper = new Swiper(selector, {
pagination: '.home-swiper-pagination',
speed: 400,
spaceBetween: 100,
nextButton: '.swiper-button-next',
prevButton: '.swiper-button-prev'
});
}
goTo(index) {
this.swiper.slideTo(index);
}
}
и использовать его в @Page
@Page({
templateUrl: 'build/pages/home/home.html',
providers: [HomeSwiper]
})
export class Home {
constructor(private swiperService: HomeSwiper) {
this.swiperService.initSwiper('.home-modal-swiper-container');
}
skipSlides() {
this.swiperService.goTo(indexOfTheLastSlide);
}
}