在Ionic1和Angularfire中,如何检索子数组?

时间:2017-08-13 21:30:56

标签: javascript firebase ionic-framework firebase-realtime-database angularfire

我已经获得了我的代码来读取列表,然后将$ id作为stateParam推送到下一个屏幕。但是我似乎无法正确读取子数组,即使我将参考静态设置为该数组也是如此。例如,这是我在Firebase中的结构:

for (int pos = 0; pos < mat.getChildCount(); pos++)
    {
        Object tag = mat.getChildAt(pos).getTag();
        if (tag != null)
        {
            String s = tag.toString();
            if (s.startsWith("Z"))
            {
                mat.removeView(mat.getChildAt(pos));
            }
        }
    }

我有一项服务允许用户选择具有1,2,3,4,5,6,7等ID的类型。一旦他们选择了该类型,他们需要选择提供者,如上面的firebase示例。

这就是我遇到问题的地方。我似乎无法获得该子阵列。 IE。

  "Providers" : {
"2" : {
  "-KrMKUqGM-3dEYLPsgUB" : {
    "business_name" : "Coca Cola",
    "first_name" : "Dave",
    "last_name" : "Watson"
  },
  "234543fdgst3EYLPqGM-d" : {
    "business_name" : "Pepsi",
    "first_name" : "Joe",
    "last_name" : "Styles"
  }
},
 "3" : {
  "-KrMKUqGM-3dEYLPsgUB" : {
    "business_name" : "Nestle",
    "first_name" : "Sarah",
    "last_name" : "Douglas"
  },
  "234543fdgst3EYLPqGM-d" : {
    "business_name" : "Cadburys",
    "first_name" : "Michael",
    "last_name" : "Smith"
  }
}
}

读作数组。到目前为止,这是我的代码:

  "-KrMKUqGM-3dEYLPsgUB" : {
    "business_name" : "Coca Cola",
    "first_name" : "Dave",
    "last_name" : "Watson"
  },
  "234543fdgst3EYLPqGM-d" : {
    "business_name" : "Pepsi",
    "first_name" : "Joe",
    "last_name" : "Styles"
  }

有人可以提供有关如何修复服务以正确阅读的建议吗?我也在使用AngularFire

1 个答案:

答案 0 :(得分:0)

也许尝试这样的事情?

 entriesRef$: FirebaseListObservable<any[]>;
 this.entriesRef$ = database.list('/Providers/' + providerNumber);
 this.entriesRef$.subscribe(snapshots => { yourmapping here });