我目前正在使用Ionic 2(基于Angular 2)开发有关食品和餐馆的渐进式Web应用程序。
我使用Firebase来管理我的用户,以及更常用的方式来保存我的数据。
我还使用AngularFire2库与Firebase进行通信。
我现在遇到的问题是有一个我的客户喜欢的菜单列表保存在FireBase中我想检索它以便操纵数据并在某种算法中使用它来制作关于客户今天想要吃什么菜单的建议。
我使用此代码迭代具有用户首选项的FirebaseListObservable:
this.af.database.list('/users/'+this.authentificationService.getUserId()+'/favs')
.subscribe(snapshots=>{
snapshots.forEach(snapshot => {
this.prefList.push(snapshot.label);
});
});
console.log(this.prefList);
你可以看到我将Observable中的值推送到名为prefList的列表中,我声明如下:
public prefList: String[]=[];
console.log(this.prefList)行给了我这个结果(从Chrome的检查>>控制台看到)你可以看到数组不是空的。
问题是我无法遍历prefList,因为长度似乎总是为0.我尝试使用this.pref [0],但这次我得到Undefined。我真的无法找到解决这个问题的方法。请帮帮忙?