1
我被困在这个: 我的数据库非常简单。ionic2中的angularfire2,如何映射?
{
"cities" : {
"A" : true,
"B" : true,
"C" : true,
},
"productspercities" : {
"A" : {
"-KNnf89UzBvzmYlrpiQj" : true,
"-KNnfAs31LkMUjU60VAG" : true,
"-KNngYcNoUUql4oIMxwU" : true
},
"B" : {
"-KO-wEN536BAx15ZpTO1" : true,
"-KO-xsw5Af1QNqTzDo2K" : true
},
"C" : {
"-KNvvTEN5B0jbPLfOHxr" : true,
"-KO-v_WR8LSk4UfnGoYy" : true,
"-KO-viF1tOSp4JmpQxdi" : true
}
},
"short_desc" : {
"-KNnf89UzBvzmYlrpiQj" : {
"desc" : "A nice flat in A"
},
"-KNnfAs31LkMUjU60VAG" : {
"desc" : "A nice land in A"
},
"-KNngYcNoUUql4oIMxwU" : {
"desc" : "A nice home in A"
},
"-KNvvTEN5B0jbPLfOHxr" : {
"desc" : "A nice flat in C"
},
"-KO-v_WR8LSk4UfnGoYy" : {
"desc" : "A nice land in C"
},
"-KO-viF1tOSp4JmpQxdi" : {
"desc" : "A nice home in C"
},
"-KO-wEN536BAx15ZpTO1" : {
"desc" : "A nice home in B"
},
"-KO-xsw5Af1QNqTzDo2K" : {
"desc" : "A nice land in B"
}
}
}
说我想只显示产品,为城市A,所以我用这个函数来获取产品的所有裁判对这个城市:
this.productspercities = this.af.database.list('/productspercities/A')
在这种CAS,它返回这些裁判: -KNnf89UzBvzmYlrpiQj -KNnfAs31LkMUjU60VAG -KNngYcNoUUql4oIMxwU
所以,现在我所知道的产品,以显示有这些裁判。但如何获得这些产品的详细信息(short_desc)?
我尝试这样做:
getShortDesc(city) {
this.productspercities = this.af.database.list('/productspercities/'+city)
.map((productspercities) => {
return productspercities.map((ref) =>
{
ref.shortdesc = this.af.database.list('/short_desc/${ref.$key}')
return ref;
})
})
应用程序是正确的建设没有任何警告,但是当我尝试以显示与视图结果:
<ion-card *ngFor="let description of ref.shortdesc | async">
<ion-item>
<h2>{{description.desc}}</h2>
</ion-item>
</ion-card>
我得到这个错误:
ORIGINAL EXCEPTION: TypeError: undefined is not an object (evaluating 'self.parent.context.ref.shortdesc')
我需要你的帮助!