Javascript Firebase列表长度或计数角度

Javascript Firebase列表长度或计数角度,javascript,angular,firebase,ionic-framework,Javascript,Angular,Firebase,Ionic Framework,这是我的问题。我需要计算firebase列表中有多少项 Firebase信息: 角度代码: 上面的列表非常有用。我可以把它放到一个*ngfor中,它可以按预期工作。这一切都在一个保存按钮提示符内,我只想防止使用相同的组合查询添加另一种食物 我试图做的事 该警报在某一点上倾向于显示正确的长度,但它似乎在重复,我不能在subscribe函数之外使用该变量。任何帮助都将不胜感激,这是我发布前的最后一个bug,我已经到处寻找修复方法 编辑 在addfood()函数的顶部有ayy=0 它一直在说,不管存在

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

Firebase信息:

角度代码:

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

我试图做的事

该警报在某一点上倾向于显示正确的长度,但它似乎在重复,我不能在subscribe函数之外使用该变量。任何帮助都将不胜感激,这是我发布前的最后一个bug,我已经到处寻找修复方法

编辑

在addfood()函数的顶部有ayy=0
它一直在说,不管存在与否,

看起来您只是在订阅中定义变量的范围-如果您在组件中定义
var ayy
,然后,您可以在subscribe by
this.ayy=items.length中引用它。看起来您只是在subscribe中定义变量的作用域-如果您在组件中定义var ayy,然后在subscribe by this.ayy=items.length中引用它,那么这不起作用吗?很高兴您对它进行了排序。我将把我的评论复制到一个答案中,这样你就可以正确地结束这个问题。干杯在顶部声明变量。var ayy;然后在函数内部不要再次使用var,而是使用this.ayy=items.length和if(this.ayy)等。
foods
     randompushid
          title: apple,
          comboQuery: apple23523526(userid)
this.foods= this.firebaseDB.list('/foods', {

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

                        });
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");
                            }

                        })