tab1.page.ts 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. import { MenuController, NavController } from '@ionic/angular';
  2. import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';
  3. import Swiper from 'swiper';
  4. import { trigger, transition, style, animate } from '@angular/animations';
  5. @Component({
  6. selector: 'app-tab1',
  7. templateUrl: 'tab1.page.html',
  8. styleUrls: ['tab1.page.scss'],
  9. animations: [
  10. trigger('imageAnimation', [
  11. transition('void => *', [
  12. style({ opacity: 0 }),
  13. animate('500ms', style({ opacity: 1 }))
  14. ]),
  15. transition('* => void', [
  16. animate('500ms', style({ opacity: 0 }))
  17. ])
  18. ])
  19. ]
  20. })
  21. export class Tab1Page {
  22. images: string[] = ['../../assets/images/3.png', '../../assets/images/2.jpg', '../../assets/images/4.jpg'];
  23. currentImageIndex: number = 0;
  24. changeImage(direction: number) {
  25. this.currentImageIndex += direction;
  26. if (this.currentImageIndex < 0) {
  27. this.currentImageIndex = this.images.length - 1;
  28. } else if (this.currentImageIndex >= this.images.length) {
  29. this.currentImageIndex = 0;
  30. }
  31. }
  32. @ViewChild("slide1Comp") slide1Comp:ElementRef |undefined
  33. changeTab: string = 'default';
  34. changeSegment(segment: string) {
  35. this.changeTab = segment;
  36. }
  37. constructor(private menuCtrl: MenuController) {}
  38. ngOnInit() {
  39. // 延迟500毫秒加载
  40. setTimeout(() => {
  41. this.initSwiper();
  42. }, 500);
  43. }
  44. // 初始化轮播图
  45. slide1:Swiper|undefined
  46. initSwiper(){
  47. console.log(this.slide1Comp)
  48. this.slide1 = new Swiper(this.slide1Comp?.nativeElement, {
  49. loop:true,
  50. autoplay:{
  51. delay:500,
  52. },
  53. mousewheel: {
  54. forceToAxis: true,
  55. },
  56. pagination:{
  57. el:".swiper-pagination",
  58. clickable:true
  59. }
  60. });
  61. }
  62. toggleMenu() {
  63. this.menuCtrl.toggle(); // 切换菜单的展开和收起状态
  64. }
  65. shishang(event:any){
  66. this.changeTab=event.detail.value;
  67. }
  68. startDressing() {
  69. // 开始换装逻辑
  70. this.changeTab = "segment";
  71. }
  72. returnToHome() {
  73. // 返回首页逻辑
  74. this.changeTab = "default";
  75. }
  76. uploadImage() {
  77. // 上传图片逻辑
  78. console.log('上传图片');
  79. }
  80. selectClothing() {
  81. // 选择服装逻辑
  82. console.log('选择服装');
  83. }
  84. save() {
  85. // 保存逻辑
  86. console.log('保存');
  87. }
  88. submit() {
  89. // 提交逻辑
  90. this.changeTab = "buttons";
  91. }
  92. share() {
  93. // 分享逻辑
  94. console.log('分享');
  95. }
  96. onFileSelected(event: any) {
  97. const file: File = event.target.files[0];
  98. // 可以在这里处理上传的文件,例如显示预览图像或上传到服务器
  99. // 这里只是简单示例,你可以根据实际需求进行处理
  100. console.log('Selected file:', file);
  101. }
  102. }