这是我的问题。我需要计算一个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 无论
,它一直在说存在答案 0 :(得分:0)
看起来您只是在订阅中定义变量 - 如果您在组件中定义var ayy
,那么您可以在订阅中通过this.ayy = items.length