Maison > Questions et réponses > le corps du texte
J'essaie d'obtenir toutes les publications de Firebase et de les ajouter à un tableau, mais j'obtiens l'erreur suivante :
Uncaught (in promise) TypeError: Cannot read property 'blogItems' of undefined
Voici le script :
export default { data(){ return{ blogItems: [] } }, mounted(){ this.getPosts(); }, methods:{ getPosts(){ database.collection('blog').doc('yP6aYXvisFbTsqtQ3MEfuyz6xYE3').collection('posts').get().then(snapshot =>{ const posts = snapshot.docs.map(doc => doc.data()) posts.forEach(function(post){ this.blogItems.push(post.content) }) }) }, } }
P粉8354286592023-09-16 00:09:32
Dans votre cas, ce serait this.blogItems
中的this
更改为posts
.
Vous avez deux solutions
Stockez this
dans une variable et utilisez-la
getPosts(){ let tis = this; database.collection('blog').doc('yP6aYXvisFbTsqtQ3MEfuyz6xYE3').collection('posts').get().then(snapshot =>{ const posts = snapshot.docs.map(doc => doc.data()) posts.forEach(function(post){ tis.blogItems.push(post.content) }) }) },
Utilisez les fonctions fléchées
getPosts(){ database.collection('blog').doc('yP6aYXvisFbTsqtQ3MEfuyz6xYE3').collection('posts').get().then(snapshot =>{ const posts = snapshot.docs.map(doc => doc.data()) posts.forEach((post) => { this.blogItems.push(post.content) }) }) },