#javascript #html #css #firebase #firebase-realtime-database
#javascript #HTML #css #firebase #firebase-realtime-database
Вопрос:
Я хочу перебрать массив комментариев, чтобы я мог отображать каждый элемент в массиве на веб-странице, которая была отправлена в firebase. Но когда я перебираю массив, я получаю ошибку — Uncaught TypeError: не удается прочитать свойство ‘length’ undefined .
const dbRef = firebase.database().ref();
const usersRef = dbRef.child('users').orderByChild("post_likes");
readPostData();
function readPostData() {
const postListUI = document.getElementById("post-list");
usersRef.on("value", snap => {
postListUI.innerHTML = ""
snap.forEach(childSnap => {
let key = childSnap.key,
value = childSnap.val()
let $li = document.createElement("li");
// edit icon
let editIconUI = document.createElement("span");
editIconUI.class = "edit-post";
editIconUI.innerHTML = " ✎";
// delete icon
let deleteIconUI = document.createElement("span");
deleteIconUI.class = "delete-post";
deleteIconUI.innerHTML = " ☓";
let commentIconUI = document.createElement("span");
commentIconUI.class = "edit-post";
commentIconUI.innerHTML = " ";
let likeIconUI = document.createElement("span");
likeIconUI.class = "like-post";
likeIconUI.innerHTML = `amp;#128420;`;
getPostAnswersArray = value.post_answers;
console.log(getPostAnswersArray)
for(i=0; i<=getPostAnswersArray.length-1; i ){
console.log(getPostAnswersArray[i])
}
$li.innerHTML = `
<p id="post_title">${value.post_title}
<span id="post_date"><small>on ${value.post_date}</small></span>
<span id="post_author">
<small class="post_author">${value.post_author}</small>
</span>
</p>
<hr>
<p id="post_content">${value.post_content}</p>
<hr>
<p id="comments">Comments<span id="num_likes"><small>${value.post_likes} likes</small></span></p>
<div id="showAns"><small>${getPostAnswersArray}<small></div>
`;
var author = value.post_author;
var current_author = firebase.auth().currentUser.email;
$li.append(likeIconUI);
$li.append(commentIconUI);
$li.append(editIconUI);
$li.append(deleteIconUI);
postListUI.prepend($li);
});
})
}
Ошибка возникает, когда я пытаюсь console.log(getPostAnswersArray[i]) . Каким может быть возможное решение этой проблемы?
Комментарии:
1.
getPostAnswersArray
где вы его инициализировали?2. На самом деле он не определен… Где вы это определили?
3. Извините, я действительно удалил эту строку при публикации вопроса по ошибке.