2017-06-18 56 views
0

我不明白为什么我得到这个错误。有人可以请帮助。 我可以成功获取快照值。只有当我试图分配true/false this.user_data。我收到此错误:无法设置属性“USER_DATA”空不能设置空javascript属性的错误

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); 

     } 


    }); 



} 

回答

2

的“本”是不是你想的是,在JavaScript this是不一样的一些其他语言。

为了让你的代码工作:的

(snapshot) => { 
// ... 
}); 

代替

function (snapshot) { ... } 

我建议你抽出时间来深挖什么 “this” 是虽然

+0

thxx你的答案...来自PHP背景...您的建议有效!但我仍然要深入探讨如何使用这个虽然..该链接是有用的..thx再次:D – Mikethetechy

相关问题