我试图在Angular材质2(Angular5)中整合滑动手势。它在桌面上使用鼠标。问题是,当我使用移动设备(Chrome)时,它只能感知标签标签上的手势。
模板代码:
<mat-tab-group mat-scroll-y (swipeleft)="swipe($event.type)" (swiperight)="swipe($event.type)" class="home-tabs" mat-stretch-tabs [(selectedIndex)]="selectedIndex">
<mat-tab label="Home">
<ng-template mat-tab-label>
<mat-icon>home</mat-icon>
</ng-template>
<app-my-cars></app-my-cars>
</mat-tab>
<mat-tab label="Registered Cars">
<ng-template mat-tab-label>
<mat-icon>directions_car</mat-icon>
</ng-template>
<app-registered-cars></app-registered-cars>
</mat-tab>
<mat-tab label="Unregistered Cars">
<ng-template mat-tab-label>
<mat-icon>directions_car</mat-icon>
</ng-template>
<app-unregistered-cars></app-unregistered-cars>
</mat-tab>
</mat-tab-group>
组件代码:
export class DashboardHomeComponent implements OnInit {
constructor() { }
ngOnInit() {
}
selectedIndex: number = 0;
totalTabs: number = 3;
SWIPE_ACTION = { LEFT: 'swipeleft', RIGHT: 'swiperight' };
swipe(eType) {
console.log(eType)
if(eType === 'swipeleft' && this.selectedIndex < this.totalTabs){
this.selectedIndex += 1;
}
else if(eType === 'swiperight' && this.selectedIndex > 0){
this.selectedIndex -= 1;
}
}
}