"Erreur 'blogItems' non définie" lors de la tentative de mise à jour des variables de données Vue
P粉262073176
P粉262073176 2023-09-15 23:28:14
0
1
478

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粉262073176
P粉262073176

répondre à tous (1)
P粉835428659

Dans votre cas, ce seraitthis.blogItems中的this更改为posts.

Vous avez deux solutions

  1. Stockezthisdans 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) }) }) },

  1. 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) }) }) },
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!