我刚刚用angularfire学习了离子技术。我正在尝试使用此site中的角色创建身份验证。我有3个角色=管理员,成员和来宾。我想通过这样从实时数据库中获取数据,将其与angularfire结合起来
"profile" : {
"MsTCKbUfNsRhcEtAl3pEHdy70Rw1" : {
"firstName" : "test",
"role" : "admin",
"lastName" : "test",
"userName" : "test"
},
和此身份验证
@Injectable()
export class AuthProvider {
currentRole: Roles;
roleRef : Observable<any[]>;
constructor(
public afAuth: AngularFireAuth,
public afDatabase: AngularFireDatabase) {
this.roleRef = afDatabase.object('profile').valueChanges();
}
role(roleRef: string) : Promise<boolean> {
return new Promise((resolve, reject) => {
if (this.roleRef === 'admin') {
this.currentRole = {
role: 0
};
resolve(true);
} else if (this.roleRef === 'member') {
this.currentRole = {
role: 1
};
resolve(true);
} else {
resolve(false);
}
});
}
isAdmin(): Promise<void> {
return this.currentRole.role === 0;
}
此代码给出:
TypeError:“ this.currentRole未定义”
请帮助我完成此操作,或者给我另一个授权教程。如果我忘记提供其他信息,请告诉我,我将对其进行编辑