{
"$id":"-KMVCUSAsz92c0Hp296i",
"$priority":null,
"aQuestion":"what is your favorite color",
"option1":{"option":"red","vote":1},
"option2":{"option":"blue","vote":2},
"option3":{"option":"green","vote":0},
"option4":{"option":"yellow","vote":0}
}
因此,使用点表示法从Firebase访问此对象,使用vm.data.$id
和vm.data.$priority
返回正确的值。但是,使用vm.data.aQuestion
或vm.data.option1
会产生undefined
。我看过几个帖子,但没有人为我解决这个问题。有什么简单的我不理解吗?
答案 0 :(得分:1)
好的,我想我可能已经弄明白了。我很幸运能够在阅读Surjeet关于使我的字段为空或空的事情之后不久找到这篇文章。
Cannot access Firebase object attributes. Value displayed as undefined ANGULARFIRE
由于Firebase值是异步加载的,因此未加载该值。在使用vm.data。$ loaded()之后,我能够通过点表示法检索。不确定这是否是最佳方式,但它确实有效。谢谢大家的帮助。
此外,如果任何阅读此内容的人有更好的方法来解决此问题,请告知我们。谢谢!
答案 1 :(得分:0)
试着看看你是否在代码中做了一些使你的对象字段为空的东西。
如果没有,
试试这个vm.data['aQuestion']