每当将新文档添加到集合时,执行某些操作



监听 angularfire2 中集合的更新非常简单。我还想在将新项目添加到集合(或从集合中删除(时运行一个函数。下面是一些示例代码:

let path = 'doc1/' + doc2 + '/doc3/';
this.varCollection = this.afs.collection(path);
this.var = this.varCollection.valueChanges();          //Do something here?

valueChanges()返回一个 Observable,因此您可以按如下方式订阅它:

this.subscription = this.varCollection.valueChanges().subscribe((val) => {
  this.var = val;  
  runSomeFunc();
})

如果您在模板中使用async管道,或者只想保持 Observable 原样,请尝试.map()它,然后返回:

this.var = this.varCollection.valueChanges().map(_ => {console.log('value changed'); return _});

如果您需要文档的元数据,可以使用snapshotChanges()

this.subscription = this.varCollection.snapshotChanges().subscribe( //do something )

最新更新