【发布时间】:2020-11-15 00:01:30
【问题描述】:
我正在尝试获取我的收藏有多少个文档,以便在添加文档时设置下一个 ID。
我正在使用 angularfire 连接到 Firebase。 我有一项服务可以从 firebase 中获取价值
asignaturas.service.ts
addAsignatura() {
return this.db.collection('asignaturas').valueChanges();
}
asignaturas.component.ts
onSend(){
this.dbService.addAsignatura()
.subscribe(data => {
return this.size = data.length;
});
this.size = this.size + 1;
this.docID = this.size.toString();
this.dbService.getCollectionAsignaturas().doc(this.docID)
.set({codigo: 12, nombre: 'xcssdf'});
}
我在 html 中有一个按钮可以将此信息发送到 firebase,所以我尝试订阅 observable 并计算长度,我的问题是当我第一次单击按钮时,什么也没有发生,并且 count var没有更新,第二次点击时一切正常
【问题讨论】:
-
您是否在 Chrome 开发者控制台的控制台或网络选项卡中看到任何错误?
-
第一次单击按钮时,您正在触发订阅者,在这种情况下,它可能 this.size 是一个空值,然后当可观察对象结束并调用 subscribe 时,这将设置一个数字值。尺寸。这是第二次起作用的原因
标签: javascript firebase google-cloud-firestore angularfire