Angular中Firestore的subscribe()方法会触发两次。
创始人
2024-10-31 13:30:17
0

以下是一个示例代码,代码中演示了如何使用Observable和takeWhile操作符来解决该问题:

import { Component, OnDestroy } from '@angular/core';
import { AngularFirestore } from '@angular/fire/firestore';
import { Observable } from 'rxjs/Observable';
import { takeWhile } from 'rxjs/operators';

@Component({
  selector: 'app-root',
  template: `
    
  • {{ item.value }}
`, }) export class AppComponent implements OnDestroy { items: Observable; isAlive: boolean = true; constructor(private afs: AngularFirestore) { this.items = afs.collection('items').valueChanges(); this.items .pipe(takeWhile(() => this.isAlive)) .subscribe(items => { console.log('Items:', items); }); } ngOnDestroy() { this.isAlive = false; } }

使用takeWhile操作符创建一个'活着”的标志,以确保只有在组件处于活动状态时才会响应Firestore中的项目更改。 在ngOnDestroy钩子中,'isAlive”标志设置为false以停止订阅项更改。

相关内容

热门资讯

透视模拟器"哈糖大菠... 透视模拟器"哈糖大菠萝能开挂吗"wepoker透视脚本视频(确实真的是有辅助辅助器)-哔哩哔哩1、进...
网友热议"aapok... 网友热议"aapoker万能辅助器"pokemmo脚本辅助(原来真的有辅助下载)-哔哩哔哩1、每一步...
随着"德扑HHpok... 随着"德扑HHpoker有挂吗"wepoker怎么破解游戏(竟然真的有辅助工具)-哔哩哔哩1、每一步...
备受关注的"hhpo... 备受关注的"hhpoker辅助软件是真的么"wepoker怎么开辅助(真是真的有辅助辅助器)-哔哩哔...
现有说明如下"如何下... 现有说明如下"如何下载wepoker安装包"wepoker插件辅助(原来有辅助安装)-哔哩哔哩1)如...
透视系统"wepok... 透视系统"wepoker手机助手"大菠萝免费辅助器(果然是真的辅助平台)-哔哩哔哩大菠萝免费辅助器能...
反观"wepoker... 反观"wepoker正确养号方法"wpk私人辅助(好像是有辅助工具)-哔哩哔哩1、wepoker正确...
记者获悉"wpk俱乐... 记者获悉"wpk俱乐部有没有辅助"hhpoker可以开挂吗(竟然是有辅助软件)-哔哩哔哩1、全新机制...
有消息称"hhpok... 有消息称"hhpoker透视工具"cloudpoker作必弊(果然真的有辅助下载)-哔哩哔哩1、不需...
辅助透视"wpk模拟... 辅助透视"wpk模拟器"wepoker辅助透视(竟然有辅助插件)-哔哩哔哩暗藏猫腻,小编详细说明we...