"Ralat 'blogItems' tidak ditentukan" semasa cuba menolak kemas kini kepada pembolehubah data Vue
P粉262073176
P粉262073176 2023-09-15 23:28:14
0
1
472

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

membalas semua (1)
P粉835428659

Dalam kes anda, itu adalahthis.blogItems中的this更改为posts.

Anda ada dua penyelesaian

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

  1. 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) }) }) },
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!