Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了angular – 在’Observable’类型中不存在属性’unsubscribe’大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Typescript(原子编辑器中的tslint)给了我一个打字稿错误,但我无法弄清楚如何设置正确的类型.

错误信息:

angular – 在’Observable’类型中不存在属性’unsubscribe’

聊天组件:

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() 
}

大佬总结

以上是大佬教程为你收集整理的angular – 在’Observable’类型中不存在属性’unsubscribe’全部内容,希望文章能够帮你解决angular – 在’Observable’类型中不存在属性’unsubscribe’所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: