Javascript 可观察到的内容?

Javascript 可观察到的内容?,javascript,typescript,rxjs,Javascript,Typescript,Rxjs,是一种观察其中内容的好方法吗?我只想制作一个观察某个条件的可观察对象,即,let observable$:observable=observable.of(a==b)这是创建可观察对象的好方法还是有更好的方法 Observable的创建方法不会在创建后观察值的变化。您可能需要使用Observable.create直接调用Observator的next,或者创建subject,以便在值更改时通过next推送值。RxJS不监视变量本身-它依赖于生成事件的其他事物 我假设您使用的是Typescript

是一种观察其中内容的好方法吗?我只想制作一个观察某个条件的可观察对象,即,
let observable$:observable=observable.of(a==b)这是创建可观察对象的好方法还是有更好的方法

Observable的创建方法不会在创建后观察值的变化。您可能需要使用Observable.create直接调用Observator的
next
,或者创建subject,以便在值更改时通过
next
推送值。

RxJS不监视变量本身-它依赖于生成事件的其他事物

我假设您使用的是Typescript标记中的Angular

看起来RxJS版本4确实有一个$watch方法,它可以让你做你想做的事情,但是$watch是一个危险的工具,因为它最终会对性能造成负面影响


Rxjs 5中明显缺少$watch,而且似乎没有说明如何做到这一点。我认为你需要对此做一些进一步的研究——它可能需要一种不同的方法,而不是观察一个变量,你可能需要截取导致它改变的事件。考虑一下状态更改通知的redux方法。

您能给我们更多关于显式示例的详细信息吗

如果a和b是某种流,你可以让自己成为一个“观察者”,就像这里一样

let condition: Observable<boolean> = a.combineLatest(b).map(([a, b]) => a === b)

谢谢你的回答,你能为我的示例问题提供一个最低限度的代码示例吗?我已经编辑了我的答案-这是在你的案例中如何做到这一点的方法很好!
a = new BehaviourSubject<boolean>(false);
b = new BehaviourSubject<boolean>(false);
<p *ngIf="(a | async) === (b | async)">...<>