Javascript Firebase-根据用户输入动态设置Firebase引用

Javascript Firebase-根据用户输入动态设置Firebase引用,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我正在尝试动态设置firebase引用。我从文档中知道的是初始状态下的firebase集合引用。只要我试着让它成为迪纳米克,它就会给我允许的错误 例如,我想从输入中获取水果名称,因此代码: $('.fruit').click(function(){ var name = $(this).text(); getFuitName(name); }); function getFruitName(name){ var fruit = firebase.database().r

我正在尝试动态设置firebase引用。我从文档中知道的是初始状态下的firebase集合引用。只要我试着让它成为迪纳米克,它就会给我允许的错误

例如,我想从输入中获取水果名称,因此代码:

$('.fruit').click(function(){
    var name = $(this).text();
    getFuitName(name);
});

function getFruitName(name){
    var fruit = firebase.database().ref('fruit/' + name );
    fruit.once('value', function(snapshot) {
        console.log(snapshot.val().name);
    });
}

我该怎么办?有什么特殊的方法可以做到这一点吗?

我找到了解决方案。我必须像这样分离数据库引用:

var database = firebase.database(); // I add this line

$('.fruit').click(function(){
    var name = $(this).text();
    getFuitName(name);
});

function getFruitName(name){
    var fruit = database.ref('fruit/' + name ); //and then modified this line
    fruit.once('value', function(snapshot) {
        console.log(snapshot.val().name);
    });
}

包括您的firebase数据库屏幕截图。另外,请先尝试控制台snapshot.val()。调用getFruitName(名称)而不是getFuitName(名称),查看缺少的rThis甚至不会更改您的代码。显然还有另一个问题。但如果它现在起作用,那就太好了。这没有任何意义