问题标签 [behaviorsubject]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
57548 浏览

javascript - 使用 rxjs5 获取 BehaviorSubject 当前值的简单方法

以前在rxjs4中有一个名为 BehaviorSubject 的方法:( getValue()doc here )。

rxjs5中不再存在此方法。

因此,我发现获得 BehaviorSubject 值的唯一解决方案是:

此代码同步运行(我不完全理解为什么,但确实如此......)并获取值。它可以工作,但它不如getValue()存在时那么干净:

为什么getValue()rxjs5中被删除,这个问题最干净的解决方案是什么?

0 投票
1 回答
1039 浏览

angular - Rxjs 在 behaviorsubject 中包含深度嵌套的对象

我开始在 Rxjs 中使用 BehaviorSubject,但在这方面的经验有限。到目前为止,我能够获取组件中的根级参数,但访问嵌套对象会导致“无法读取未定义的属性 x”。

课程:

篮子后端服务

篮子服务

模板(片段)

如果我删除深度嵌套对象的引用,我会返回预期的结果。

我正在尝试使用 BehaviorSubject 来更新几个组件,但不确定这是否是最好的解决方案!

0 投票
1 回答
1037 浏览

angular - BehaviorSubject Observable 在 Angular 2 RC4 中不起作用

我仍在使用 Angular 2 RC4,因为我在使用 RC5 时遇到了其他问题并让 HTTP 在那里工作。在这种情况下,我尝试使用 BehaviorSubject observable 来更新我在 app.component.html 中使用的布尔变量,以便仅在用户成功登录时显示数据(使用 *ngIf)。我的应用程序在我部署在 Eclipse Neon 中的 Tomcat 8 服务器上运行良好。我以为我为此正确遵循了其他示例,但我在 Chrome 中不断收到此错误-TypeError: Cannot read property 'next' of undefined

你能帮助澄清我错过了什么吗?

auth.service.ts

app.component.ts

main.ts

Chrome 控制台中的错误:

也许错误是我正在使用的 HTML 语法。

0 投票
12 回答
533241 浏览

javascript - BehaviorSubject vs Observable?

我正在研究 Angular RxJs 模式,但我不明白 aBehaviorSubject和 an之间的区别Observable

据我了解,aBehaviorSubject是一个可以随时间变化的值(可以订阅并且订阅者可以接收更新的结果)。这似乎与Observable.

你什么时候使用 an Observablevs a BehaviorSubjectBehaviorSubject使用 a over an是否有好处,Observable反之亦然?

0 投票
4 回答
8577 浏览

angular - Angular2 + RxJS BehaviorSubject 订阅不适用于所有组件

我正在尝试在我的组件之间进行某种通信,因此我在组件中使用具有 BehaviorSubject 和 Subscription 的服务,如下所示:

服务(与问题相关的代码):

组分 A:

B组份:

如果组件 B 是组件 A 的子组件,这是完美的工作,但是如果 A 是根组件并且 B 在其内部<router-outlet>(或相反),则订阅没有收到任何内容,我只能进入sent控制台。

我究竟做错了什么?

0 投票
1 回答
172 浏览

angular - Rxjs: BehaviourSubject 值发射

我有一个行为主题BehaviorSubject<MyModel>(new MyModel)。根据我所做的阅读,我了解到,只要对行为主体进行订阅,订阅者就会MyModel在订阅完成后立即获得一个默认对象。

但是我对这种情况感到困惑,假设有些人ClassA订阅了行为主题,然后在对其进行调整后在可观察对象上发出了一个值。在ClassA发出之后,ClassB订阅主题,所以现在ClassB 订阅接收new MyModel()对象或主题最后发出的模型。

如果需要进一步澄清,请告诉我。

0 投票
2 回答
2200 浏览

java - 出错后重启 BehaviorSubject

想要的行为:

有了这个输出:

我的问题是onNextafteronError不起作用(这是有意的,遵循RxJava规则),但我需要对错误有弹性,同时还要将它们传递到流中(向用户显示一些反馈)。

有没有办法做到这一点?

0 投票
1 回答
1301 浏览

angular - Angular 2.0.1 AsyncPipe 不适用于 Rx 主题

AsyncPipe 与 BehaviorSubject 一起使用,但我不想用空数据初始化我的服务,因此我使用 Subject intead。

问题是 NgFor 和 asyncPipe 不适用于 Subject,这是一个问题吗?

这有效:

零件:

模板

这不起作用:

零件

模板

0 投票
1 回答
11803 浏览

angular - 如何在 Angular 2 中使用 getter 和 setter 实现 BehaviorSubject

我正在尝试在我的 LoginService 中实现isLoggedIn类型的布尔值BehaviorSubject以及 getter 和 setter 函数,以将值作为 Observable 获取/通过其 BehaviorSubject 正确设置变量。这是有效的,但是它在 TSLint 中引发了两个关于“类型不可分配”和“重复标识符”的错误。在没有 TSLint 抱怨的情况下定义它的正确方法是什么。

这是上述代码的精简版:

0 投票
1 回答
404 浏览

android - BehaviorSubject 处理中的 BehaviorSubject

场景 我有一个区域列表,我想从服务器获取每个区域中的所有项目。所以,我决定用它来试试。我不知道我是不是“疯了”。这就是我所做的:BehaviorSubject

它所做的只是挂起,就像我这样做时根本没有运行