我正在尝试将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:
[]
关于我做错的任何想法?
感谢您对此提出的任何建议!
答案 0 :(得分:0)
这是一个时间问题,正如本期所解释的那样:
console.log of element.children shows 0 length but has three entries when expanded later
我创建了一个click事件来测试,并且数组填充得像它应该的那样。如果我在数据到达后使用promise或observable来调用函数,那不应该是一个问题。