Javascript 从Firebase Firestore获取图像并将其添加到;李",;
我尝试从Firebase存储中检索图像,然后将它们添加到一个“li”标记中,这是一篇文章。但是当运行下面的代码时,我得到src=undefined。“li”标记中的div有效。有人能帮我吗 为什么出现错误:无法读取未定义的属性“get” HTML:Javascript 从Firebase Firestore获取图像并将其添加到;李",;,javascript,html,firebase,google-cloud-firestore,google-cloud-storage,Javascript,Html,Firebase,Google Cloud Firestore,Google Cloud Storage,我尝试从Firebase存储中检索图像,然后将它们添加到一个“li”标记中,这是一篇文章。但是当运行下面的代码时,我得到src=undefined。“li”标记中的div有效。有人能帮我吗 为什么出现错误:无法读取未定义的属性“get” HTML: JavaScript: var postDocRef = db.collection('posts').doc(uid).collection('userPosts') postDocRef.get().then(snapshot =>
JavaScript:
var postDocRef = db.collection('posts').doc(uid).collection('userPosts')
postDocRef.get().then(snapshot => {
setupPosts(snapshot.docs)
})
const posts = document.querySelector('.posts');
const setupPosts = (data) => {
let html = '';
data.forEach(doc => {
var docRefIDpost = docRef.id
const post = doc.data();
const li = `
<li>
<div class="title">${post.title}</div>
<div class="content">${post.content}</div>
<img class="img">
</li>
`;
var imgRef = db.collection("posts").doc(uid).collection('userPosts').doc(docRefIDpost);
imgRef.get().then(function(snapshot) {
var picURL = snapshot.get("picURL")
var imgpost = document.querySelector(".img");
imgpost.src = picURL
})
html += li
})
posts.innerHTML = html;
}
});
var postDocRef=db.collection('posts').doc(uid).collection('userPosts'))
postDocRef.get()。然后(快照=>{
setupPosts(snapshot.docs)
})
const posts=document.querySelector('.posts');
const setupPosts=(数据)=>{
让html='';
data.forEach(doc=>{
var docRefIDpost=docRef.id
const post=doc.data();
常数李=`
每个
userPosts
文档的结构如何?您是否检查了imgRef
snapshot
是否为空?
我相信实际的问题可能是您在访问imageURL
时错过了对data()
的调用:
var picURL = snapshot.data().picURL
仍然没有更改。但现在,我在控制台中遇到一个错误:无法读取未定义的属性“get”。快照不是空的,因为我在控制台中记录了快照。我猜是.get()函数造成了问题。是的,get()函数成了问题。从
data()返回的对象
是一个js对象–您可以直接访问picURL
和其他属性。我已经调整了上面的答案。
var picURL = snapshot.data().picURL