vue.js 如何使用vufire查询?

gblwokeq  于 2023-01-31  发布在  Vue.js
关注(0)|答案(1)|浏览(113)
import { collection, limit, query } from "firebase/firestore"
import { useFirestore, useCollection } from "vuefire"

const db = useFirestore()

const messagesRef = collection(db, 'rooms/1/messages')
const messages = useCollection(query(messagesRef, limit(3)))
       
console.log(messages.value)

messages.value应该是一个3个元素的数组,但是我得到了一个空的。然而,如果我只打印消息(console.log(messages)),我会在值字段中看到预期的值。我不知道这是vufire bug还是什么。使用firebase API一切都很好

tpxzln5u

tpxzln5u1#

假设这是一个异步操作来检索这些值,那么记录到您的开发控制台的console.log(messages)实际上会更新自己以显示“实时”异步结果。
不要使用console.log(obj),使用console.log(JSON.parse(JSON.stringify(obj)))。
这样你就可以确信你在记录obj的时候看到了它的值。否则,很多浏览器提供的实时视图会随着值的变化而不断更新。这可能不是你想要的。
作为一个数组,console.log(messages.value)将在异步操作完成之前立即记录日志(因此为空数组)。要真正测试它,请尝试console.log(JSON.parse(JSON.stringify(messages)))。我认为您应该再次得到空结果。

相关问题