我想访问多个组件中的一些数据。我创建了一个服务,它为此目的检索数据。当我试图观察我的数据时,问题出现了。我的代码:
@Injectable()
export class NotificationsService {
constructor(private af: AngularFireDatabase) {}
public retrieveNotifications(): Observable<NotificationObj[]> {
return this.af.database.ref(refs.NOTIFICATIONS).on('value', snap => {
const data = snap.val();
return Object.keys(data).map(key => {
return new NotificationObj(key, data[key]);
});
})
}
}
我得到的信息是:
TS2322:类型“(a:数据快照B?:string)=〉any "不能赋给类型“Observable〈NotificationObj[]〉”。类型“(a:数据快照B?:字符串)=〉任意“。
如何转换我的方法以避免解析服务外部的数据,并保存侦听组件更改的可能性?
1条答案
按热度按时间gijlo24d1#
我在那里找到了解决方案Firebase error when subscribing to ref.on(‘value’, callback); | Property 'subscribe' does not exist on type '(a: DataSnapshot, b?: string) => any'
完整代码为: