Angular& Firebase - 在订阅激活的路由之前检查节点

时间:2017-08-10 14:31:57

标签: angular firebase firebase-realtime-database firebase-authentication

我正在使用

  • 火力地堡

我想做的事

  • 检查firebase节点以查看用户ID是否为true / exists

  • 如果是,则显示其他节点的项目列表

问题

  • 我有两个独立的功能
  • 我可以检查用户节点以查看它们是否存在并写入控制台
  • 我可以显示项目列表
  • 但是我不能检查用户,然后显示项目列表

这是检查“'成员”的代码。节点

这是我用来查看成员>下是否存在用户密钥的内容项目ID



    var userId = firebase.auth().currentUser.uid;
    var pathToCheck = '/members/' + this.projectId + '/' + userId;

    firebase.database().ref(pathToCheck).once('value').then(function (snapshot) {
      if (snapshot.exists()) {
        console.log('hooplar!');
      } else {
        console.log('hmmm');
      }
    });
  }




这是我显示项目的方式



    this.activatedRoute.data.subscribe((
      data: { issueListData: any }) => {
      this.issuesList = data.issueListData;
    });  




我想要发生什么

理想情况下,这是我想要的功能,但会抛出以下错误:

  

错误错误:未捕获(在承诺中):TypeError:无法读取属性' activatedRoute'未定义的



    var userId = firebase.auth().currentUser.uid;
    var pathToCheck = '/members/' + this.projectId + '/' + userId;

    firebase.database().ref(pathToCheck).once('value').then(function (snapshot) {
      if (snapshot.exists()) {
        this.activatedRoute.data.subscribe((
          data: { issueListData: any }) => {
          this.issuesList = data.issueListData;
        });
        console.log('hooplar!');
      } else {
        console.log('hmmm');
      }
    });
  }




0 个答案:

没有答案