angular – 在’Observable’类型中不存在属性’unsubscribe’
发布时间:2020-12-17 18:00:38 所属栏目:安全 来源:网络整理
导读:Typescript(原子编辑器中的tslint)给了我一个打字稿错误,但我无法弄清楚如何设置正确的类型. 错误信息: 聊天组件: private _chatObserver: Observablefirebase.database.DataSnapshot otherMethod () { this._chatObserver = this._chat.observe(alarmId)
Typescript(原子编辑器中的tslint)给了我一个打字稿错误,但我无法弄清楚如何设置正确的类型.
错误信息: 聊天组件: private _chatObserver: Observable<firebase.database.DataSnapshot> otherMethod () { this._chatObserver = this._chat.observe(alarmId) this._chatObserver.subscribe( (messageSnap: firebase.database.DataSnapshot) => { this.messages.push(messageSnap.val()) },error => {throw error}) } ionViewDidLeave() { this._chatObserver.unsubscribe() } _chat提供者: public observe (alarmId){ let messagesRef = this._ref.child(`alarms/${alarmId}/messages`) const observable = Observable.create(observer => { messagesRef.on('child_added',(messageSnap) => { observer.next(messageSnap) },(error) => observer.error(error) ) return () => { messagesRef.off('value') }; }); return observable } 解决方法
试试这个
private _chatObserver: Observable<firebase.database.DataSnapshot> private _subscription:Subscription otherMethod () { this._chatObserver = this._chat.observe(alarmId) this._subscription=this._chatObserver.subscribe( (messageSnap: firebase.database.DataSnapshot) => { this.messages.push(messageSnap.val()) },error => {throw error}) } ionViewDidLeave() { this._subscription.unsubscribe() } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |