离子2幻灯片锁



我想锁定滑动功能(通过滑动屏幕(才能在我单击按钮时起作用。

由于我是TypeScript的新手,所以我无法解释如何使此功能正常工作。我在离子页面上找到了一些文档。

"锁快地(应该锁定("我认为这是我需要的代码,但我不知道如何将其包含在我的离子上。

html

<ion-slide>
  <ion-item>
    <img src="img/question.png (click)="goToSlide1()">
  </ion-item>
</ion-slide>
<ion-slide>
  <ion-item>
    <img src="img/clue.png (click)="goToSlide2()">
  </ion-item>
</ion-slide>
<ion-slide>
  <ion-item>
    <img src="img/answer.png (click)="Finish()">
  </ion-item>
</ion-slide>

ts

        import {Component} from '@angular/core';
        import {NavController} from 'ionic-angular';
        import {Finish} from '../finish/finish';
        import { Slides } from 'ionic-angular';
        import { ViewChild } from '@angular/core';

        @Component({
            templateUrl: 'build/pages/slider/slider.html'
        })
        export class Slider {
            @ViewChild(Slides) slides: Slides;
            value = '';
            changeText(value: string) { this.value = value; }
            constructor(private navController: NavController) {
            goToSlide1() {
                this.slides.slideTo(1, 500);
            }
            goToSlide2() {
                this.slides.slideTo(2, 500);
            }
            goToFinish() {
                this.navController.setRoot(Finish);
            }
    }
}

我希望有人可以帮助我!谢谢。

我正在使用离子版本3,我做了这样的事情

在html

<ion-slides #mySlider> 
  <ion-slide class="swiper-no-swiping">Content 1 </ion-slide>
  <ion-slide class="swiper-no-swiping">Content 2 </ion-slide>
</ion-slides>

在TS文件中

@ViewChild('mySlider') mySlider: Slides;
ionViewDidLoad() {
  this.mySlider.lockSwipes(true);
}

请注意:在html中需要为每张幻灯片添加" swiper-no-swiping",这将禁用交换

让我们从头开始。

首先,您的HTML应该看起来像这样:

<ion-slides>
    <ion-slide>
    <ion-item>
        <img src="img/question.png (click)="goToSlide1()">
    </ion-item>
    </ion-slide>
    <ion-slide>
    <ion-item>
        <img src="img/clue.png (click)="goToSlide2()">
    </ion-item>
    </ion-slide>
    <ion-slide>
    <ion-item>
        <img src="img/answer.png (click)="Finish()">
    </ion-item>
    </ion-slide>
</ion-slides>

然后,在您的TS文件中,您应该使用ngAfterViewInit钩子,因为ViewChild组件会在这里而不是在这里准备就绪。

所以您的TS应该看起来像这样:

import {Component} from '@angular/core';
import {NavController} from 'ionic-angular';
import {Finish} from '../finish/finish';
import { Slides } from 'ionic-angular';
import { ViewChild } from '@angular/core';

@Component({
    templateUrl: 'build/pages/slider/slider.html'
})
export class Slider {
    @ViewChild(Slides) slides: Slides;
    value = '';
    changeText(value: string) { this.value = value; }
    constructor(private navController: NavController) {
    }
    ngAfterViewInit() {
        // child is set
        this.slides.lockSwipes(true);
    }
    goToSlide1() {
        this.slides.slideTo(1, 500);
    }
    goToSlide2() {
        this.slides.slideTo(2, 500);
    }
    goToFinish() {
        this.navController.setRoot(Finish);
    }    
}

检查Angular 2钩

将完成这项工作,愉快的编码。

将其添加到IonViewDidload函数

ionViewDidLoad() {
    this.slides.lockSwipes(true);
}

相关内容

  • 没有找到相关文章

最新更新