收集使我不断“未定义”

时间:2019-08-02 08:15:44

标签: javascript html firebase

我似乎无法获取快照文档来向我显示来自服务器的数据。

我已经检查了收藏集。它称为"creaciones",不带大写字母。我有1个文档,并且已经编写了文件。我没有任何拼写错误。我以前做过这项工作,现在我做不到。

db.collection('usuarios').get().then(function(querySnapshot) {
    querySnapshot.forEach(function(doc){
        console.log(doc.data);
    });
    setupGrilla(snapshot.docs);

});

//Setup grilla
const setupGrilla = (data) => {

    let html = '';
    data.forEach(doc => {
        const grilla = doc.data();
        const creacion = `
    <div>
        <img src='jpg/${grilla.tipoCreacion}.png' alt='tipoCreacion'>
        <h2>${grilla.nombreCreacion}</h2>
        <img src='Imagenes/${grilla.nombreFoto}' alt='nombrefoto' class='imagen'>
        <span>piezas: ${grilla.piezas}</span>
        <span class='separador'></span>
        <span>tiempo: ${grilla.tiempo} minutos</span>
        <p>padre: ${grilla.ayuda} </p>
        <p class='puntos'>Puntos: ${grilla.puntos} </p>
    </div>
        `;
        html += creacion;
    });

}

//get Data
db.collection('creaciones').get().then(snapshot => {
        setupGrilla(snapshot.docs);
        console.log(snapshot.docs);
});

我希望它能显示获取数据库数据。

2 个答案:

答案 0 :(得分:0)

db.collection('usuarios').get().then(function(querySnapshot) {
    querySnapshot.forEach(function(doc){
        console.log(doc.data);
    });
    setupGrilla(snapshot.docs);

}); 

该代码就是我之前尝试过的代码。无需研究,因为目前我还没有写。

答案 1 :(得分:0)

您正在使用setupGrilla参数调用snapshot.docs,但是从未定义snapshot

改为尝试querySnapshot.docs,或在querySnapshot中重命名snapshot

您还将错误的参数传递给方法

db.collection('usuarios').get().then(function(snapshot) {
    snapshot.forEach(function(doc){
        console.log(doc.data);
    });
    setupGrilla(snapshot); // <-- Here

});