FirebaseListObservable и ионные слайды не работают
У меня есть FirebaseListObservable и я хочу перебрать полученные элементы для создания ионных слайдов:
<ion-slides [initialSlide]="currentDay - 1">
<ion-slide *ngFor="let secret of secrets | async let i = index;">
<big-secret-card [secret]="secret"></big-secret-card>
</ion-slide>
</ion-slides>
Однако, когда я делаю это, initialSlide
не работает Я думаю, что это может быть ошибка ion-slides
,
Каков наилучший способ справиться с этим? Пропустить хороший асинхронный канал и подписаться на FirebaseListObservable
вместо этого, и включить *ngIf="secrets.length>0"
в ion-slides
?
В этом случае я должен использовать unsibscribe()
при выходе со страницы?
Или есть лучшее решение?
1 ответ
Сейчас я использую этот обходной путь, преобразовывая FirebaseListObservable в обычный Observable и предварительно загружая массив из 7 пустых объектов. Это работает для моего случая:
getWeek(week): Observable<any> {
// get all secrets of one week into an array
let emptyWeek = [{},{},{},{},{},{},{}];
return Observable.create(observer => {
observer.next(emptyWeek);
let week$ = this.af.database.list('/dhsweek/en/week)).subscribe(result => observer.next(result));
return () => {
// unsubscribe function called automatically by async pipe when leaving page
week$.unsubscribe();
}
})
}