我不明白为什么会出现此错误。有人可以帮忙吗? 我可以成功获取快照值。仅当我尝试将 true/false 分配给 this.user_data 时。我收到此错误:无法设置 null 的属性“user_data”
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);
}
});
}
最佳答案
“this”不是你想象的那样,在 javascript 中 this
与其他一些语言中的不一样。
要使您的代码正常工作:
(snapshot) => {
// ...
});
而不是
function (snapshot) { ... }
我建议花时间深入研究“this”到底是什么
关于javascript - 无法设置 null javascript 错误的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44616630/