Firebase列表长度或计数Angular

时间:2017-07-23 05:47:22

标签: javascript angular firebase ionic-framework

这是我的问题。我需要计算一个firebase列表中有多少项。

Firebase信息:

foods
     randompushid
          title: apple,
          comboQuery: apple23523526(userid)

Angular Code:

this.foods= this.firebaseDB.list('/foods', {

                            query: {
                                orderByChild: 'comboQuery',
                                equalTo: data.Name + userId
                            }

                        });

上面的列表效果很好。我可以把它放到* ngfor中,它按预期工作。这都在保存按钮提示符内,我只是想阻止使用相同的组合查询添加另一个食物。

我试图做的事情

this.supplements.subscribe(items => {

                          var ayy = items.length;
                          alert(ayy);
}

警报往往会在某个时刻显示正确的长度但似乎重复,我不能在订阅功能之外使用该变量。任何帮助都将不胜感激,这是我在发布之前的最后一个错误,我到处寻找解决方案。

修改

this.supplements.subscribe(items => {
                            ayy = items.length;
                            if (ayy == 0) {
                                this.foods.push({
                                    title: data.Name,
                                    uid: userId,
                                    comboQuery: data.Name + userId
                                });

                            }

                            else {
                                alert("exists");
                            }

                        })

我在addfood()函数的顶部有ayy = 0 无论

,它一直在说存在

1 个答案:

答案 0 :(得分:0)

看起来您只是在订阅中定义变量 - 如果您在组件中定义var ayy,那么您可以在订阅中通过this.ayy = items.length

引用它