无法读取未定义

时间:2017-06-13 16:21:28

标签: javascript

我不知道为什么这段代码无法运行,但另一种方法是可以的

this.usersRef = this.database.ref('/doctors/' + firebase.auth().currentUser.uid + '/userList');
    this.UsersRef.on('value', function(snapshot){
       console.log(snapshot.val());
        snapshot.forEach(function (child) {
            // console.log(child.key);
            var val = child.val();
            this.displayUserInfo(child.key, val.email, val.firstname, val.lastname);
        });
    });

它始终显示“无法读取未定义的属性'displayUserInfo',

这种方式还可以:

    var setUsersInfo = function (data) {
    var val = data.val();
    this.displayUserInfo(data.key, val.email, val.firstname, val.lastname);
}.bind(this);
this.usersRef.limitToLast(12).on('child_added', setUsersInfo);
this.usersRef.limitToLast(12).on('child_changed', setUsersInfo);

我认为关键是在javascript中绑定(this),但是我在第一种方式尝试了.bind(this),它无法工作。

有人可以给出一些提示吗?谢谢

0 个答案:

没有答案