javascript - 无法设置 null javascript 错误的属性

标签 javascript angularjs typescript

我不明白为什么会出现此错误。有人可以帮忙吗? 我可以成功获取快照值。仅当我尝试将 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/

相关文章:

javascript - Angular 2 : loop a json list, 南

javascript - onmouseenter 闪烁工具提示

javascript - Angularjs ng-repeat with Object key value filter ng-model name 不起作用

javascript - 扩展 javascript "class"(对象)

typescript - 如何从 Typescript 中的类属性(省略方法)派生接口(interface)?

javascript - 将 ondragstart 处理程序添加到动态创建的图像

javascript - 使用 .trigger 自动加载 fancybox ('click' )

java - 为什么我的两个不同的 angularjs 服务解析为同一个 Restful Java EE Web 服务?

javascript - AngularJS 图表文件问题

typescript - 使用 Typescript 实现纯类混合