Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular 2数组Subject.next()不调用另一个组件';观察家_Javascript_Angularjs_Angular_Firebase_Rxjs - Fatal编程技术网

Javascript Angular 2数组Subject.next()不调用另一个组件';观察家

Javascript Angular 2数组Subject.next()不调用另一个组件';观察家,javascript,angularjs,angular,firebase,rxjs,Javascript,Angularjs,Angular,Firebase,Rxjs,我正在使用firebase作为后端 在data.service.ts内部,我创建了一个主题数组,该数组将由app init上的firebase observer填充: private orders = new Subject<any>(); orders$ = this.orders.asObservable(); firebase.database().ref(this.fbDataPath).on('child_added', (childSnapshot) => {

我正在使用firebase作为后端

在data.service.ts内部,我创建了一个主题数组,该数组将由app init上的firebase observer填充:

private orders = new Subject<any>();
orders$ = this.orders.asObservable();

firebase.database().ref(this.fbDataPath).on('child_added', (childSnapshot) => {
  this.orders.next(
    {
      key: childSnapshot.key,
      name: childSnapshot.val().name,
      items: childSnapshot.val().items
    }
  )
})

我似乎无法让侦听器组件在下一次事件中触发。我为一个布尔isLoggedIn做了这项工作,在这个场景中我肯定遗漏了一些东西。谢谢

这可能是因为您在闭包中使用了
。从
this.orders.next()

中删除
this
,这不是问题,因为数组函数捕获了
this
正确地说,哎呀,我没有标记为已回答的自我。。。那似乎不起作用。然而,当我从firebase关闭中删除它时,订阅至少已经通过了…所以我可能不得不使用我自己的firebase watcher,除非有其他东西?
DataService.orders$.subscribe(
  order => {
    console.log('subscribe hit')
  })