错误:Angular 2中的BehaviorSubject

时间:2018-06-15 05:59:36

标签: angular

enter image description here

receiveMessage(){
 this.messaging.onMessage(function (payload) {
    console.log("Message received. ", payload);
      this.currentMessage.next(payload)
  });
}

TypeError:无法读取属性' next'未定义的

2 个答案:

答案 0 :(得分:2)

尝试使用箭头功能,如下所示,

 this.messaging.onMessage((payload) => {
      console.log('Message received. ', payload);
      this.currentMessage.next(payload);
 });

并确保已导入

import {BehaviorSubject} from 'rxjs/BehaviorSubject';

答案 1 :(得分:0)

  

重要提示

在箭头函数之前,每个新函数都定义了它自己的这个值(在构造函数的情况下是一个新对象,在严格模式函数调用中是未定义的,如果该函数被调用为&#34,则为基础对象;对象方法&# 34;等)。事实证明,面向对象的编程风格并不理想。 阅读更多here