我正在try 更新我的页面的日程安排

就像"订阅"和"取消订阅"一样,用

在10分钟左右的时间内进行页面更新,同时不在数据库上创建标题

import { Component, OnDestroy, OnInit } from '@angular/core';
import { Subscription } from 'rxjs';
import { MaintenanceServicesService } from './MaintinanceService/maintenance-services.service';



@Component({
  selector: 'app-maintenance',
  templateUrl: './maintenance.component.html',
  styleUrls: ['./maintenance.component.scss']
})
export class MaintenanceComponent implements OnInit, OnDestroy {

  pageCards: any[] = []
  subscripe?: Subscription


  constructor(private _MaintenanceServicesService: MaintenanceServicesService) {
  }

  ngOnInit(): void {
    this.subscripe = this._MaintenanceServicesService.pageCards.subscribe({
      next: () => {
        this.GetPageCards()
      }
    });
  }

  ngOnDestroy(): void {
    if (this.subscripe) {
      this.subscripe.unsubscribe()
    }
  }

  GetPageCards() {
    this._MaintenanceServicesService.GetServicesPageCards()
    this.pageCards = this._MaintenanceServicesService.pageCards.getValue()
  }

}

推荐答案

这个标题具有误导性.当您的数据出现时,BehaviorSubject将发送值.

你不需要在每个时间间隔订阅/取消订阅数据,这就是可观察数据的全部目标--只要数据出现,你就会做出react .

the example中,你可以发现如何有计时器来创建可观察的,它有大约initialDelay(你可以将它设置为0),在这个延迟之后,它使用interval值来定义emits 事件之间的时间. 所以现在您有了一个流,它每interval个值发出一些东西,这里您想要做一些事情--所以您要从您的服务获取数据并返回它.

另一件事-不需要订阅/取消订阅,只需将结果赋给data$个变量(它是可观察的),并且在模板中您可以使用 | async管道,因此它将自动处理订阅/取消订阅.

Angular相关问答推荐

使用当前选定的选项创建IF语句

Angular 类型的表单不能分配给分部类型

我们应该在Angular 从14升级到15的过程中也升级茉莉花和业力相关的依赖吗?

如何处理后端删除元素后元素列表的刷新

Angular ngSubmit 不起作用(内部按钮和导入模块)

Angular6:RxJS switchMap 运算符未按预期工作

Angular 等待对话框未显示

Angular 14 类型表单 - 数字控件的初始值

如何以Angular 显示动态视图模型

正确理解 angular14 中的注入 - 必须从注入上下文中调用注入()

如何在Cypress 测试中切换 Angular 选项卡

Angular 服务decorator 提供在延迟加载的根效果

使用directive指令将类添加到host元素中

Angular ngFor 索引从 1 开始 循环

Angular 2 - 事件列表

如何在angular 5 中获取基本网址?

由router-outlet 创建时如何将css类应用于组件元素?

在 Angular 2 中使用 store (ngrx) 有什么好处

Lint 错误:实现生命周期挂钩接口

为什么 Angular 项目中没有 Angular-CLI 为 model生成命令?