AngularObservable<Model>对象始终为空
创始人
2024-10-28 19:00:46
0

在 Observable 中使用 BehaviorSubject。

首先,使用 BehaviorSubject 替代 Observable,代码示例如下:

import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
import { Model } from './model';

@Injectable()
export class ModelService {
  private modelSource = new BehaviorSubject(new Model());
  currentModel = this.modelSource.asObservable();

  changeModel(model: Model) {
    this.modelSource.next(model);
  }
}

在上面的代码中,我们创建了一个 BehaviorSubject 对象来代替我们之前使用过的 Observable 对象。我们使用 BehaviorSubject 的原因是因为它可以保存最后一个发出的值,并将其向新订阅者发送。

接下来,我们可以在组件中订阅 BehaviorSubject:

import { Component, OnInit } from '@angular/core';
import { ModelService } from './model.service';
import { Model } from './model';

@Component({
  selector: 'app-component',
  template: `
    

{{ currentModel | async | json }}

` }) export class AppComponent implements OnInit { currentModel: Model; constructor(private modelService: ModelService) { } ngOnInit() { this.modelService.currentModel.subscribe(model => this.currentModel = model); } }

在上面的代码中,我们通过直接订阅 BehaviorSubject 来获取最新的 Model 对象。我们使用了 async 管道来获取异步数据并展示在组件模板中。

同样地,我们可以在其他组件或服务中使用我们的 ModelService 来获取最新的 Model 对象。

相关内容

热门资讯

一分钟揭秘!微乐三带辅助,广西... 一分钟揭秘!微乐三带辅助,广西友玩修改器,插件教程(真的有开挂)是一款可以让一直输的玩家,快速成为一...
玩家必知教程!四川途游小程序辅... 玩家必知教程!四川途游小程序辅助破解版,微乐斗地主有挂,玩家教你(真的是有开挂);四川途游小程序辅助...
玩家必看科普!蜀渝牌乐汇辅助,... 玩家必看科普!蜀渝牌乐汇辅助,中至辅助器,总结教程(真的是有开挂)是一款可以让一直输的玩家,快速成为...
记者揭秘!超凡辅助软件,雀神麻... 记者揭秘!超凡辅助软件,雀神麻雀科技公司,解说技巧(有开挂)是一款可以让一直输的玩家,快速成为一个“...
关于!河洛刚次辅助,新西部牛牛... 关于!河洛刚次辅助,新西部牛牛辅助,微扑克教程(是有开挂);相信小伙伴都知道这个新西部牛牛辅助上存在...
传递经验!边锋老友辅助,凑一桌... 传递经验!边锋老友辅助,凑一桌游戏关春天辅助,教你攻略(真的有开挂);1、不需要AI权限,帮助你快速...
我来教大家!微信小游戏万年修改... 我来教大家!微信小游戏万年修改器,江西微乐家乡辅助脚本,AI教程(真的有开挂)是一款可以让一直输的玩...
必知教程!约战平台辅助,福建大... 必知教程!约战平台辅助,福建大玩家十三水辅助,曝光教程(有开挂)是一款可以让一直输的玩家,快速成为一...
技巧知识分享!雀友会广东潮汕辅... 技巧知识分享!雀友会广东潮汕辅助脚本,丽水都莱辅助器软件,AA德州教程(有开挂)是一款可以让一直输的...
避坑细节!福建天天开心技巧,都... 避坑细节!福建天天开心技巧,都莱辅助软件,技巧教程(有开挂);福建天天开心技巧是一款益智类棋牌手游,...