问题描述
绑定到 firestore 集合时,我遇到了一个奇怪的场景。我通过使用 vuexfire 提供的序列化选项序列化数据来进行批量读取。但这似乎不是问题,因为我也尝试过没有序列化。基本上,我收到了 5 个文件。但我注意到,当 then() 函数中的代码运行时,它只得到 1 个文档(即使我知道有 5 个)。控制台日志显示 events.length 为 1。我不得不使用 events.slice() 来记录实际事件,因为没有它,它确实显示 5 个事件。这是因为在 console.log 运行时,它已检索到所有 5 个事件。所以,我的问题是为什么绑定过早完成?根据 vuexfire 文档:
返回一个 Promise,一旦数据被完全获取并同步到状态中,它就会被解析。
我只调用一次这个函数,所以如果文档是正确的,在承诺解决之前不应该获取所有 5 个事件吗?
table1: INDEX(col4,col1)
table3: INDEX(col8,col5,col10)
table2: INDEX(col7,col2,col3)
table4: INDEX(col9,col6)
更多信息: 经过更多的调试,我有了更多的信息。似乎您不能将相同的数据绑定到两个不同的状态变量?除了pendingEvents 绑定之外,我还有另一个绑定发生在将一些相同的数据绑定到另一个存储变量之前。如果我注释掉该绑定,一切都会按预期进行(除了我绑定的其他数据不再可用)。我不认为我在 vuexfire 文档中看到了这一点。它只提到如果您使用相同的状态变量重新绑定数据,它将自动解除绑定。但它没有提到不同的状态变量不能绑定到相同的数据??有人有这方面的经验吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)