gpt4 book ai didi

angular - 主题值更改时不会触发订阅

转载 作者:行者123 更新时间:2023-12-05 09:31:48 25 4
gpt4 key购买 nike

我有两个组件 A 和 B,当 A 中发生事件时,我需要在 B 中获取更新后的值,我在其中订阅了一项服务以从 A 中获取最新值。

组件A:

sendString(inputEntered){  //happens when on buttonclick
....
this.myService.sendRecent(inputEntered);
}

服务:

export class myService {
private inputStringSource = new Subject<string>();
public inputString$ = this.inputStringSource.asObservable();
constructor() {}


sendRecent(inputString: string) {
this.inputStringSource.next(inputString);
}

组件 B:

...

  ngOnInit(): void {

this.myService.inputString$.subscribe(data => {
console.log("input value ", data);
});

服务正在接收新值,但组件 B 中的订阅未被触发。我在这里做错了什么?请告诉我。尝试了几个选项,但仍然没有运气。

最佳答案

如果您在订阅组件 B 之前从组件 A 发送数据,则可能会发生这种情况,您可以尝试使用 ReplaySubject

private inputStringSource = new ReplaySubject<string>();

关于angular - 主题值更改时不会触发订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68579838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com