我不明白为什么会出现此错误。有人可以请帮助。 我可以成功获取快照值。只有当我试图为this.user_data分配true / false时。我收到此错误:无法设置属性' user_data'为null
public user_data = false;
constructor(public afAuth: AngularFireAuth, public afDb: AngularFireDatabase) {
}
check_user_exists(number: string){
const dats = firebase.database().ref('users');
dats.orderByChild('number').equalTo(number).once("value", function(snapshot){
if(snapshot.val() !== null){
this.user_data = true;
console.log(this.user_data);
} else {
this.user_data = false;
console.log(this.user_data);
}
});
}
答案 0 :(得分:2)
“这个”不是你认为的那样,在javascript中this
与其他一些语言不同。
使您的代码有效:
(snapshot) => {
// ...
});
而不是
function (snapshot) { ... }
我建议花点时间深入研究“this”是什么