问题标签 [rxjs6]

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 投票
6 回答
72772 浏览

typescript - 更改订阅中的变量后,Angular 6 View 未更新

当订阅中的变量更改时,为什么视图没有更新?

我有这个代码:

例子.component.ts

example.component.html

但视图显示:foo-Hello

为什么不显示:foo-Hello-bar

如果我ChangeDetectorRef.detectChanges()在订阅中调用它会显示正确的值,但是为什么我必须这样做呢?

我不应该从每个订阅中调用这个方法,或者根本不应该(角度应该处理这个)。有正确的方法吗?

我错过了从 Angular/rxjs 5 到 6 的更新吗?

现在我有 Angular 6.0.2 和 rxjs 6.0.0。相同的代码在 Angular 5.2 和 rxjs 5.5.10 中运行正常,无需调用detectChanges.

0 投票
4 回答
17626 浏览

angular - 在Angular 6中通过http get处理复杂对象

我不明白如何处理我订阅的对象。对象结构如下:

我通过以下服务提出上诉:

有一个接口模型:

我在组件中进行处理:

任务是按类型从对象中进行选择:“视频”。通过 AJAX + jQuery 没有问题,在 Angular 中我比较新。昨天铲了一堆视频课程,但没有过滤这种复杂对象的例子。

建造:

不起作用。结果是一个错误,提示“类型'VideoListModel []'上不存在属性'项目'”。直觉上,我知道问题很可能在界面中,但我无法理解如何修改界面以使过滤正常工作。如果有人遇到过滤复杂对象,请告诉我如何解决这个问题。

0 投票
3 回答
329 浏览

angular - ng 服务时出错。使用 mapbox/mapbox-gl-draw

有以下版本:

虽然ng serve出现错误: 在此处输入图像描述

谁能帮帮我,将不胜感激..

0 投票
2 回答
795 浏览

rxjs - 如何只使用 rxjs-compat 的一部分,或者编写一个自定义的 rxjs-compat?

我们已经更新了我们的项目以使用 Angular 和 Rxjs 6 并且一切正常。

我们还更新了代码以使用管道运算符,因此我们希望删除rxjs-compat.
唯一的问题是我们的依赖项之一仍然使用 Observable 和 Subject 的旧导入语法。

有什么方法可以为这两个类提供我们自己的最小 rxjs-compat 吗?

该库没有对 Observable 和 Subject 做任何花哨的事情,也没有使用任何运算符,因此导入完整的 rxjs-compat 包似乎有点过头了。

0 投票
1 回答
302 浏览

angular - 无法让 Observable 输出到组件

几周以来,我一直在开发 Ngrx 应用程序,试图让这个可观察的应用程序输出到组件。最初,我认为我的ngrx 实体和reducer 有问题,所以我现在尝试将这一特定调用从ngrx 框架中取出并直接调用到输出。它仍然行不通。顺序如下:

app/tasks/containers/selected-task-page.ts 调用并订阅输出然后传递到

一个显示组件app/tasks/components/pomo-tracker.ts

无论我尝试什么,它都不会绑定到组件和输出。我尝试添加 json 管道。我尝试关闭异步管道。我试图以不同的方式订阅 observable。我已经尝试过管道和映射到它。我完全不知所措。我对 rxjs 比较陌生。如您在此处看到的,observable 将值输出到控制台。

在此处输入图像描述

我不断遇到的错误之一是错误:找不到类型为“object”的不同支持对象“[object Object]”。NgFor 仅支持绑定到 Iterables,例如 Arrays。

我确信这与返回的 json 对象有关,但为什么这个 observable 不输出,而其他所有对象都输出。这就是为什么我尝试将 json 管道添加到输出但也不起作用的原因。

如果这里有人愿意帮助克服我花了几天时间克服的最后一道障碍,我将不胜感激。我的代码在 Stackblitz 上

要重现错误:

  1. 使用测试/测试登录
  2. 来自 Sidenav:查找任务
  3. 搜索 Python
  4. 将任务添加到集合。
  5. 点击播放按钮。5秒后会超时
  6. 输入备注并提交
  7. 刷新页面:在控制台查看错误。

先感谢您。

0 投票
2 回答
203 浏览

angular - Angular RxJS Observable 加载错误

我已经声明了一个可观察变量

然后我以这种方式加载那个可观察的。

但是当我这样做时,我在 this.workOrders = data 行下看到一个红色的波浪线。而且当我悬停时它说[ts]类型'IWorkOrders []'不可分配给类型'Observable' 在此处输入图像描述

0 投票
1 回答
1243 浏览

angular - 升级 rxjs 6:this._subscribe 不是 PromiseObservable.Observable.subscribe 的函数

升级后:Angular "5.2.0" -> "6.0.2" and rxjs": "^5.2.0", -> "rxjs": "^6.0" and "rxjs-compat": "^6.2.0" ,

我在浏览器上发现了这个错误:

然后我安装了:npm i -g rxjs-tslint 并运行rxjs-5-to-6-migrate -p path-to-tsconfig.ts 所有路径都已更新,但浏览器上仍然出现相同的错误。

0 投票
1 回答
5359 浏览

rxjs - Angular 6 单元测试 rxjs 6 操作员点击单元测试拦截器

由于我将代码更新到新的 Rxjs 6,我不得不像这样更改拦截器代码:

auth.interceptor.ts:

而且我无法测试 rxjs 运算符“tap”和“catchError”。

实际上我只能测试是否调用了管道:

关于如何监视 rxjs 操作员的任何帮助

0 投票
1 回答
641 浏览

angular6 - 获取 TypeError: .finalize 不是 Rxjs6 中的函数

在以下函数中,我收到运行时错误TypeError: this.authService.authServiceSigninUser(...).map(...).catch(...).finalize is not a function

问题 1) 为什么 Typescript 在编译时没有捕捉到这个错误?我怎么能在编译时捕捉到这个错误。

问题 2) 我该如何解决这个错误?我尝试使用两者finallyfinalize但两者都不起作用。

0 投票
0 回答
54 浏览

rxjs - 使用 rxjs 实现可拖动组件

我将可拖动组件的实现从 rxjs5 移动到 6。在测试时,我注意到函数 onDragEnd 偶尔不会被调用。这可能是什么原因?这是代码:

编辑:只是为了澄清我的期望,mousedown 事件应该映射到可观察的(假设我正确理解了排气映射)不应该允许外部可观察再次发射,直到内部可观察完成。我无法理解的是为什么在 20-30 次中没有触发 onDragEnd ,可以从文档中观察到,所以我的直觉告诉我在这种情况下鼠标向上是不可避免的,我错了吗?如果您有一些想法,这个实现可能有什么问题,请告诉我,谢谢!