Как получить массив с изображениями в Angular Modal Gallery - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь создать галерею изображений в угловом приложении, используя angular-modal-gallery.Проблема в том, что я не знаю, как преобразовать наблюдаемое (с данными изображения) из медиа-сервиса в массив.Документы Angular-Modal-Gallery говорят, что мне нужно инициализировать массив с моими изображениями.

media.service.ts

export class MediaService {

  API_URL = AppConfig.settings.api.url;
  constructor(private http: HttpClient) { }

  getAlbum = (id: string) => {
    return this.http.get(`${this.API_URL}/album?id=${id}`);
  };
}

component.html

<modal-gallery [modalImages]="imagesArraySubscribed"></modal-gallery>

component.ts

export class PhotoComponent implements OnInit {

  imagesArraySubscribed: Array<Image>;
  private subscription: Subscription;

  private album_id = '12121564564564';
  private album$: Observable<any>;

  constructor( private mediaService: MediaService ) { }

  ngOnInit() {

  this.album$ = this.mediaService.getAlbum(this.album_id).pipe(map(res => 
  res['photoset']['photo']));
   }
 }

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

Вы должны подписаться на метод getAlbum, и вы получите данные.

this.album$ = this.mediaService.getAlbum(this.album_id).suscribe( (res:any[]) => {
    this.imagesArraySubscribed = res['photoset']['photo']; 
}
0 голосов
/ 01 марта 2019
this.mediaService.getAlbum(this.album_id).pipe(map(res => 
   res['photoset']['photo'])).subscribe(res => {
      imagesArraySubscribed.push(res)});

Вы должны подписаться на услугу и передать изображения, которые вы получите от наблюдаемого, в массив

...