Rumah > Soal Jawab > teks badan
Saya cuba mendapatkan semua siaran daripada Firebase dan menambahkannya pada tatasusunan, tetapi saya mendapat ralat berikut:
Uncaught (in promise) TypeError: Cannot read property 'blogItems' of undefined
Ini skripnya:
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
Dalam kes anda, itu adalah this.blogItems
中的this
更改为posts
.
Anda ada dua penyelesaian
Simpan this
ke dalam pembolehubah dan gunakannya
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) }) }) },
Gunakan fungsi anak panah
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) }) }) },