функция вызывает переменную как неопределенную - PullRequest
0 голосов
/ 25 января 2019

У меня есть эта функция в моем коде javascript:

function fillTemplate({ table_name, id }) {
  console.log("ID OF TABLES  " + table_name);
  return `
  <div class="noten_tabelle_permission" id="noten_tabelle_permission">
    <h1 id="member_name">${id}</h1>
    <table id="${table_name}" style="width:100%">
      <tr>
        <th>Fach</th>
        <th>mündlich</th>
        <th>Klausur</th>
      </tr>
      <!-- Make content with js code -->
    </table>
  </div>
  `;
}   

Когда я вызываю эту функцию с этим (например) fillTemplate("grade_table" + table_number, doc.id); и выводю имя_таблицы в консоль, оно не определено.Почему и как решить эту проблему?
Когда вам нужен весь код для понимания или исправления шагов, вот весь фрагмент:

db.collection("classes").doc(data.readGrades).get().then(function(doc) {
    if (doc.exists) {
        const data = doc.data();
        const members = data.members;

        members.reduce((chain, el) => {

          table_number++;

          const html = fillTemplate("grade_table" + table_number, doc.id);
          document.getElementById("main_padding").insertAdjacentHTML('beforeend', html);

            return chain.then(() =>
                db.collection("users").doc(el).collection("grades").get().then(function(querySnapshot) {
                    querySnapshot.forEach(function(doc) {
                        const data = doc.data();

                        addToTable("grade_table" + table_number, doc.id, data.mdl, data.klu);
                    });
                })
            )
        }, Promise.resolve());
    } else {
        console.log("No such document!");
    }
}).catch(function(error) {
    console.log("Error getting document:", error);
});  

1 Ответ

0 голосов
/ 25 января 2019

Внутри функции fillTemplate () вы запрашиваете объект {}

Вам необходимо заменить: -

function fillTemplate({ table_name, id }) {

на

function fillTemplate(table_name, id) {

Это должно решитьпроблема, с которой вы столкнулись.

...