Angular的BehaviorSubject在组件中不反映变化状态
创始人
2024-10-24 01:30:45
0次

该问题的解决方法是使用订阅方法来观察BehaviorSubject的变化并反映到实际的组件中。下面是一个代码示例:

import { Component, OnInit } from '@angular/core';
import { BehaviorSubject } from 'rxjs';

@Component({
  selector: 'app-sample',
  templateUrl: './sample.component.html',
  styleUrls: ['./sample.component.css']
})
export class SampleComponent implements OnInit {
  
  private messageSource = new BehaviorSubject('default message');
  currentMessage = this.messageSource.asObservable();

  constructor() { }

  ngOnInit(): void {
    this.currentMessage.subscribe(message => console.log(message));
  }

  changeMessage() {
    this.messageSource.next('message changed');
  }
}

在此示例中,我们使用了BehaviorSubject来创建一个观察者。我们还使用了asObservable()方法使其对组件外部不可见。在ngOnInit()钩子函数中,我们订阅了currentMessage。在组件中有一个名为changeMessage()的方法,它使用messageSource的next()方法来更新观察者的值。

在HTML模板中,我们可以使用async管道来订阅currentMessage。从而实时反映messageSource的值。

{{ currentMessage | async }}

通过此方式,我们可以轻松地访问BehaviorSubject的值,并在组件中反映其变化状态。

相关内容

热门资讯

黑科技外挂!微乐小程序晃晃脚本... 黑科技外挂!微乐小程序晃晃脚本(外挂),微乐掼蛋跑得快原来是真的有透视挂方法1、黑科技外挂!微乐小程...
黑科技作弊器!微乐自建房插件免... 黑科技作弊器!微乐自建房插件免费软件(作弊器),微乐炸红十真是存在有透视挂插件1、下载好微乐自建房插...
黑科技外挂!微信微乐陕西挖坑小... 黑科技外挂!微信微乐陕西挖坑小程序下载(外挂),微乐安徽麻将本来是有透视挂工具1、超多福利:超高返利...
黑科技透视挂!微信小程序辅助多... 黑科技透视挂!微信小程序辅助多少钱(透视挂),微乐宁夏麻将原来真的有透视挂插件1、微信小程序辅助多少...
黑科技透视挂!微乐河南小程序辅... 黑科技透视挂!微乐河南小程序辅助器免费(透视挂),微乐滨州麻将总是是真的有透视挂教程微乐河南小程序辅...
黑科技辅助器!微信小程序微乐为... 黑科技辅助器!微信小程序微乐为什么老输(辅助器),微乐三丁拐确实真的有透视挂插件运微信小程序微乐为什...
黑科技外挂!小程序微乐辅助器免... 黑科技外挂!小程序微乐辅助器免费版(外挂),微乐盐城麻将确实存在有透视挂技巧小程序微乐辅助器免费版破...
黑科技开挂!微乐小程序黑科技免... 黑科技开挂!微乐小程序黑科技免费知乎(开挂),微乐河池麻将总是有透视挂插件1、完成微乐小程序黑科技免...
黑科技外挂!微信微乐游戏辅助器... 黑科技外挂!微信微乐游戏辅助器(外挂),微乐盐城麻将真是是真的有透视挂技巧1、微信微乐游戏辅助器破解...
黑科技辅助器!微乐手游辅助脚本... 黑科技辅助器!微乐手游辅助脚本平台(辅助器),微乐天津麻将真是是真的有透视挂技巧1、打开软件启动之后...