gpt4 book ai didi

angular - 如何在不调用 next 的情况下设置新的 BehaviorSubject 值?

转载 作者:行者123 更新时间:2023-12-03 16:24:07 27 4
gpt4 key购买 nike

我需要在不触发对任何订阅的下一次调用的情况下设置我的 BehaviorSubject 的值。

我尝试这样做:

this.mySubject = new BehaviorSubject(newVal);

但这也会删除所有订阅。
this.mySubject.value = newVal;

不起作用,因为 .value是只读的。

有什么办法可以做到这一点吗?

编辑:对于那些问我为什么需要这样做的人...

这是一个 Ionic 4 应用程序,因此有一个根列表页面调用另外 2 个子页面(一个详细信息 View 和一个编辑页面)。进入 View 页面的第一个导航需要选择的模型。列表页面将此模型的初始值设置到 BehaviorSubject 中,然后导航到 View 页面。但是,这个初始值的设置会触发列表的刷新,这是我不想做的。我只想初始化该值,然后监听以防编辑页面更改它,然后刷新我的列表。

最佳答案

我很想知道为什么您实际上想要这样做,但您可以考虑的一个选项是将一个标志作为您的值的一部分,该标志指示是否应该传播更新,然后让您的所有订阅都从过滤的 View 中派生主题。

this.mySubject.next({propagate: false, value: 42});

makeObservable() {
return this.mySubject.pipe(filter(x => x.propagate));
}

关于angular - 如何在不调用 next 的情况下设置新的 BehaviorSubject 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54521133/

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