将AngularFire2 FirebaseObjectObservable值转换为正确类型

时间:2017-03-15 06:47:23

标签: angular firebase firebase-realtime-database angularfire2

我正在尝试将FirebaseObjectObservable中的值附加到Angular 2组件中的d3 svg节点。它使用以下格式的本地变量:

$roomtype

当我将myLocalVar记录到控制台时,我看到了:

myLocalVar = [{"Id":"Value"}, {"Id":"Value"}];

单击展开按钮时,会显示以下内容:

ConsoleLog myLocalVar Expanded

当我订阅FirebaseObjectObservable并尝试绑定数据时,数据将不会绑定。当我在控制台中查看时,我看到一组对象,但顶级窗体看起来不同。控制台最初只显示一组数组括号:

[Object, Object...]

在控制台中展开数组视图会显示:

ConsoleLog Observable Expanded 1

myLocalVar和FirebaseObjectObservable中的对象是相同的。

我猜这两种类型的数组之间存在一些差异,因为它们在控制台顶层的呈现方式不同。我很好奇为什么可观察数组会呈现为Array [0],即使它有对象。如果数组是两个具有相同对象组成的相同数量的对象的数组,那么它们可能会有什么不同呢?

知道如何从observable返回的数组来镜像局部变量的形式吗?

如果需要,这是我的代码,用于定义和订阅observable:

[]

关于我做错的任何想法?

感谢您对此提出的任何建议!

1 个答案:

答案 0 :(得分:0)

这是一个时间问题,正如本期所解释的那样:

console.log of element.children shows 0 length but has three entries when expanded later

我创建了一个click事件来测试,并且数组填充得像它应该的那样。如果我在数据到达后使用promise或observable来调用函数,那不应该是一个问题。