网站搜索
我希望获得一个可观察对象的结果,该对象在每次值变化时减去默认值
每次数值变化时,它都会用输入字段中输入的新数值减去默认值
例如,默认值是5。
我在输入字段中输入4
结果是 5-4=1,所以我希望将 1 显示到输入框“Surface ha”中
我清空字段,然后输入 3 结果是 5-3=2,所以我希望将 2 显示在输入字段“Surface ha”中
所以所以....
如果我使用 console.log,我可以清楚地看到可观察对象的结果,但我希望将可观察对象的结果显示在同一个输入字段中
我在开发者控
阅读更多 →我想在我的 Angular2 项目中使用 RxJS 的 ImmediateScheduler。
然而,在我的 RxJS 安装中,这个不存在。我在 package.json 中使用的是 “rxjs”: “5.0.0-beta.12”,这是 Angular 2.1.2 所需要的。
当我查看 node_modules/ 文件夹时,我发现有一个 'rxjs' 文件夹和一个 'rx' 文件夹。ImmediateScheduler 不属于 'rxjs',而是属于 'rx'。我可以在 'rx/dist/rx.lite.js' 中找到它,甚至在我使用的 TypeScript 文件 'rx/ts/rx/rx-lite.ts' 中也能找到。
试图在我的 TypeScript 文件中像这样导入它
import {Scheduler} from "node_modules/rx/ts/rx-lite";失败。文件本身找到了,但编译器抱怨“.../ts/rx-lite.d.ts 不是一个模块”.
我怎
阅读更多 →
我正在使用 rxjs 和 TypeScript。我写了以下两个简单的函数。但我猜 rxjs 已经有这样的功能了。rxjs 有吗?
export function isObservable(value: any): value is Observable<any> { return value instanceof Observable; } export function createObservable<T>(value: T | Observ 阅读更多 →我写了一个监听值事件的函数:
getUnreadMessages() : Observable<any>{ return new Observable(observer =>{ firebase.database().ref('messages/' + this.userService.getUserID()).on("value", (snapshot : any) =>{ let count = 0; ...some more logic here... observer.next(count); observer.complete(); }, (error) =>{ observer.error(error); }) }) }当数据库发生变化时,我可以看到这个函数被调用了,但我在整个应用程序中订阅它的地方并没有触发。有任何建议吗?
阅读更多 →
我正在使用 RXJS 操作符与 Firebase 可观察对象(distinct 和 filter)。这是我的 Firebase 树。我的代码如下:
let places this.db.list(`users/${this.authProvider.getUID()}/visitedPlaces`,{ query:{ orderByChild:"googleId" } }); places.distinct((p)=>{ console.log(p) return p.googleId; }). subscribe((snap)=>{ 阅读更多 →
我花了好几个小时在原地打转,所以该问另一个晦涩的问题了。
我在一个 lerna 单体仓库中,有两个子项目,ProjectA 和 ProjectB。
ProjectA 依赖于 rxjs,ProjectB 也是如此。
ProjectB 依赖于 ProjectA,lerna 通过使用符号链接来管理它。
问
阅读更多 →
我一直在玩一玩 RxJS 6。我正在尝试实现 dragstart、dragmove 和 dragend。这是我目前的代码。
import { fromEvent } from 'rxjs'; import { concatMap } from 'rxjs/internal/operators/concatMap'; import { map } from 'rxjs/internal/operators/map'; import { takeUntil } from 'rxjs/internal/operators/takeUntil'; import { repeat } from 'rx 阅读更多 →基本上,我仍然不太确定在 Angular 组件中如何清理响应式代码。以下规则是否正确且足够?
我对于响应式组件的规则:
关于手动 x.subscribe():
在模板的 observable | async 上:
关于像 new Subject() 这样手动直接创建 Observable:
我们正在通过 WebSocket 查询 graphql,以订阅实体列表。由于该列表应该可以无限滚动,我们使用了分页。我们还希望在前端的列表中实时看到数据库所做的更改。
这个列表可以被筛选、排序和分页。
我们有一个类 SelectParams 可以帮助我们做到这一点:
export class SelectParams { page = 0; query = ''; sort: Sort = { sortBy: 'creationDate', sortOrder: 'DESC' }; take = 30; }然后当我们想要订阅一个列表时,我们只需提供一个 selectParams$=Observable<SelectParams> 来获取这个“响应式”的列表,并对 selectPa
阅读更多 →
我正在尝试将一个 Angular 5 应用迁移到 Angular 6,并且我有一段 RxJS 代码让我感到困惑。我已经通过谷歌搜索并阅读了足够多的 RxJS 文档,知道我应该使用 .pipe,但我还是不太理解语法。
该代码在用户输入搜索字段时会返回来自 API 调用的结果。新版本目前抛出以下错误:
ERROR TypeError: Cannot read property 'call' of undefined at merge.js:8 at MapSubscriber.project (switchM 阅读更多 →