无法读取DashboardComponent上未定义的属性“管道”

时间:2019-03-08 11:29:21

标签: angular angularfire2

我不断收到以下错误:

  

错误TypeError:无法读取DashboardComponent.push ../ src / app / dashboard / dashboard.component.ts.DashboardComponent.getReferredUsers上未定义的属性“管道”

我的代码如下:

  ngOnInit() {
    this.ngxLoader.start();

    this.isMobile = this.breakpointObserver.observe([Breakpoints.Handset]);
    this.campaignMode = environment.campaignMode;
    this.anonymousPhotoURL = 'https://i.imgflip.com/1slnr0.jpg';
    this.user = JSON.parse(localStorage.getItem('user'));

    this.userService.getUserById(this.user.uid).subscribe(result => {
      if (result) {
        this.setUser(result);
        this.createReferralUrls();
        this.calculateNoOfUsers();
        this.calculateRanking();
        this.getReferredUsers();
        this.ngxLoader.stop();
      }
    });
  }

错误在这里发生:

  getReferredUsers() {
    this.invitees$ = this.userService.getReferredUsers(this.userData.referralId).pipe(map(result => {
      return result;
    }));
  }

ReferralService中的方法如下:

  getReferredUsers(referralId) {
    if (referralId) {
      return this.afs.collection('users', ref => ref.where('referredBy', '==', referralId).limit(3)).valueChanges();
    }
  }

我该如何解决?

1 个答案:

答案 0 :(得分:2)

getReferredUsersreferralId时,

falsy返回未定义。

调试getReferredUsers的输入是什么。如果它是0,'',false,null,undefined等,并且这些都是有效的情况,那么您应该返回某种可观察的空值,以使调用者不会因undefined失败。