Попытка разрешить некоторые данные из angularfire2 в моем маршрутизаторе.Когда я передаю return of('Hello Alligator!')
, мой компонент регистрирует Hello Alligator
, но когда я пытаюсь разрешить данные из службы angularfire, они просто зависают и никогда не разрешаются.Я также хотел бы установить это, где я все еще могу добавить к коллекции.Что я делаю не так?
//SmsListResolverService
import {Resolve, ActivatedRouteSnapshot, RouterStateSnapshot} from '@angular/router'
import {Observable, of} from 'rxjs'
import { SMS } from './SMS.interface';
import {FirebaseService} from '../_shared/firebase.service'
import { Injectable } from '@angular/core';
import { AngularFirestore } from '@angular/fire/firestore';
@Injectable()
export class SmsListResolverService implements Resolve<Observable<any>>{
constructor(private db:AngularFirestore){
}
resolve(){
// this_works-----> return of('Hello Alligator!')
return this.db.collection('messages').valueChanges() //not this
}
}
//Route module
export const routes: Routes = [
{
path: 'chat',
component: SmsComponent,
resolve: { messages: SmsListResolverService }
}
];
//component
export class SmsComponent{
constructor(public sms: SmsService, private route:ActivatedRoute) {
console.log(this.route.snapshot.data)
}