music.component.ts 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. import { Component, OnInit } from '@angular/core';
  2. import { IonicModule } from '@ionic/angular';
  3. import { CommonModule } from '@angular/common';
  4. import { FormsModule } from '@angular/forms';
  5. import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
  6. interface Article {
  7. id: string;
  8. title: string;
  9. summary: string;
  10. content: string;
  11. image: string;
  12. category: string;
  13. date: string;
  14. views: number;
  15. }
  16. @Component({
  17. selector: 'app-music',
  18. templateUrl: './music.component.html',
  19. styleUrls: ['./music.component.scss'],
  20. standalone: true,
  21. imports: [
  22. IonicModule,
  23. CommonModule,
  24. FormsModule,
  25. ],
  26. schemas: [CUSTOM_ELEMENTS_SCHEMA]
  27. })
  28. export class MusicComponent implements OnInit {
  29. selectedCategory = 'all';
  30. slideOpts = {
  31. initialSlide: 0,
  32. speed: 400,
  33. autoplay: {
  34. delay: 3000,
  35. },
  36. loop: true,
  37. pagination: true
  38. };
  39. featuredArticles: Article[] = [
  40. {
  41. id: '1',
  42. title: '2024年音乐产业发展趋势分析',
  43. summary: '探讨AI技术对音乐创作的影响及未来发展方向',
  44. content: '',
  45. image: 'assets/img/music_information1.png',
  46. category: '新闻',
  47. date: '2024-01-15',
  48. views: 1234
  49. },
  50. // 添加更多精选文章
  51. ];
  52. articles: Article[] = [
  53. {
  54. id: '2',
  55. title: '新一代音乐人如何在数字时代突围',
  56. summary: '探讨年轻音乐人在当今市场的机遇与挑战',
  57. content: '',
  58. image: 'assets/img/music_information.png',
  59. category: '评测',
  60. date: '2024-01-14',
  61. views: 856
  62. },
  63. // 添加更多文章
  64. ];
  65. constructor() { }
  66. ngOnInit() {
  67. this.loadArticles();
  68. }
  69. loadArticles() {
  70. // 从服务器加载文章列表
  71. }
  72. openArticle(article: Article) {
  73. // 打开文章详情页
  74. console.log('Opening article:', article.id);
  75. }
  76. async loadMoreArticles(event: any) {
  77. // 实现加载更多逻辑
  78. setTimeout(() => {
  79. // 模拟加载更多文章
  80. event.target.complete();
  81. // 如果没有更多文章,禁用无限滚动
  82. // event.target.disabled = true;
  83. }, 1000);
  84. }
  85. }