我试图从list()
方法的响应元素值时,访问Firebase
实时数据库。我必须有一些过时的文档,所以答案可能是超级容易的人在TypeScript
和Firebase
的基本经验。
故事是这样开始的:我有对象db: AngularFireDatabase
我叫db.list('/firebaseElements').snapshotChanges().subscribe(elements=>{let els = elements; ...})
如果我JSON.stringify(els)
我得到[{"payload":"element1","type":"value","prevKey":null,"key":"1"},{"payload":"element2","type":"value","prevKey":"1","key":"2"},{"payload":"element3","type":"value","prevKey":"2","key":"3"}]
所以如果我调用els[0].payload
,我应该得到element3
字符串。element3
是数据库中的一个leaf
,所以它是一个简单的字符串值。如果我访问payload
,它会变成一个具有_database
和_delegate
两个属性的对象。我以前的文档也提到通过els[i].$value
属性访问值,但这并没有It’看起来也不管用。
因此我的问题是:如何访问从Firebase数据库检索到的节点的简单(叶)值?
1条答案
按热度按时间h43kikqp1#
我所要做的就是把
subscribe
转换成valueChanges()
,而不是snapshotChanges()
,然后我就直接得到了leaf
的值,我的错。