我不断收到以下错误:
错误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();
}
}
我该如何解决?
答案 0 :(得分:2)
getReferredUsers
为referralId
时, falsy
返回未定义。
调试getReferredUsers
的输入是什么。如果它是0,'',false,null,undefined等,并且这些都是有效的情况,那么您应该返回某种可观察的空值,以使调用者不会因undefined失败。