问题标签 [angular-observable]

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 投票
1 回答
51 浏览

angular - 类型 'Year' 不能分配给类型 'Year[]'。“年份”类型中缺少属性“包含”

使用 angular 4 和 observable 时出现错误。

src/app/ca-calendar/calendar.component.ts(84,5) 中的错误:错误 TS2322:类型“Observable”不可分配给类型“Observable”。类型 'Year' 不能分配给类型 'Year[]'。“年份”类型中缺少属性“包含”。

我究竟做错了什么?

服务:

零件:

...和型号

0 投票
3 回答
3891 浏览

angular - 为什么 Angular 为 HttpClient 使用 Observable?

根据https://angular.io/tutorial/toh-pt6

一般来说,一个 observable 可以随着时间的推移返回多个值。来自 HttpClient 的 observable 总是发出单个值然后完成,不再发出。

确实如此,一旦请求完成,Http 请求/响应就不能再产生任何值了。那么 HTTPClient 在发出请求时返回 Observable 的主要原因是什么?仅仅是因为我们可以在 Observable 上应用大量运算符(重试、去抖动等)吗?或者还有其他我失踪的具体原因吗?

0 投票
1 回答
59 浏览

angular - 什么是 Observables 以及它们在 HttpClient 中有何不同

在 Angular 中,我们有 Observables 可以更轻松地处理 HTTP 请求。除了有这样的功能

地图(),订阅(),管道()

我知道的不多。

我在这里面临的问题是,何时使用此功能,最适合哪种情况?我根本不关注这些。

0 投票
2 回答
2034 浏览

angular - Angular 订阅 observable 然后返回一个新的

我正在使用 HttpClientget从网络服务获取数据。我想订阅结果数据并将其从 JSON 转换为实际的类,然后有一个Observable从该方法返回这些类中的一个。基本上,当调用者subscribe触发时,我希望它能够上课。

我对 angular 和 observables 很陌生,所以我不确定如何进行链接。所以我想要类似的东西:

这当然不会真正编译,然后调用者会这样做:

那时我将拥有ars一个实际的EhsAssessmentAr[].

0 投票
8 回答
36143 浏览

angular - Angular 6:“Observable”类型上不存在属性“catch”'?

我正在将我的应用程序升级到Angular 6。我正在从Angular 4升级,但下面的代码在 Angular 6 中导致错误,它在 Angular 4 中运行良好。


我得到的错误:

“typeof Observable”类型上不存在属性“of”

错误:“Observable”类型上不存在属性“catch”

我应该如何解决这些错误?

0 投票
1 回答
1754 浏览

javascript - Angular 5 - 可观察的返回错误无法读取未定义的属性

当我使用httpClient调用我的 Web 服务时,我开始在我的 Angular 服务中使用 Spring Rest 和 Angular 5 实现一个简单的分页,并通过请求的页面获得正确的响应,它在我的页面上正确显示数据,但控制台 Web 出现错误浏览器在我的*ngFor循环中出现错误无法读取未定义的属性,尽管模板显示结果正确:

问题出在 Service 方法中:getPageClient() 和 *ngFor 指令这是我的错误日志: 在此处输入图像描述

这是我使用 observable 的服务:

这是我的模型类:

这是我的组件代码:

这是我实现分页的模板部分:

有人可以帮我提前找到我的 ObservableThanks 的问题吗

0 投票
0 回答
193 浏览

angular - observable 不订阅

我已经使用了受下一个可观察的行为。

组件1.ts

服务.ts

组件2.ts

如果我在订阅 $search 后删除 subscription.push(tempSubscription)然后订阅工作。否则其中没有任何记录。此外,如果我采用不同的变量来存储两个可观察的输出,那么它也可以工作。

注意:相同的 observable 以类似的方式在其他组件中订阅,并且工作正常。通过将可观察对象推入数组然后取消订阅,我做错了什么?

0 投票
1 回答
819 浏览

angular - 使用 HttpClient 在 Angular 6 中使用 REST 服务会在订阅时提供未定义的 Observable 值

我创建了一个 Angular 服务,它返回一个Observable对象数组,使用offrom rxjs

它工作正常,直到我用这样of的实际HttpClient.get()请求替换该部分:

我已经测试了给出 JSON 结果的 URL:

我已将组件中的 observable 订阅为:

console.log()subscribe 方法内部的A 实际上记录了从该方法接收到的 JSON 数据HttpClient.get(),但是该属性this.allHackfests仍然存在undefined,因此当我尝试访问其任何属性时会出错。

Angular 6的官方教程有一个类似的实现,他们声明:

您已经换成了 http.get 并且应用程序继续工作而无需任何其他更改,因为这两个函数都返回一个 Observable

显然,该声明与我在实施中观察到的不一致。还有一些我可能会遗漏的变化吗?

0 投票
1 回答
1188 浏览

angular - 即使没有在 BehaviorSubject 上调用 next 也订阅 observable

我有一个简单的场景:

服务.ts:

组件.ts:

组件2.ts:

我在 openComposeMsg() 中记录了一条消息。我面临的问题是,我第一次正确订阅 showComposeBox observable 但第二次订阅时即使没有调用下一个,因为 msg "in openComposeBox" 没有登录到控制台。

无法理解 BehaviorSubject 的行为。我究竟做错了什么?

0 投票
2 回答
1320 浏览

angular - 主体调用下一个时,可观察对象不接收事件

服务.ts:

组件1.html

组件1.ts

组件2.ts

当我单击 show-box 触发 showBox() 函数时,我在控制台“in Box”中得到输出,但没有得到控制台“显示框”,即未订阅 observable。当我的下一个触发器调用 openBox() 然后 observable 订阅成功时,可能是什么原因。我的实施有什么问题?

更新

问题只是当我通过 component1.ts 调用它时,这是我第一次在应用程序中使用它。我已经尝试订阅而不将其添加到订阅中。

组件2.ts

更新

我在帖子中提到的应用程序和组件的结构: my-angular-app\src\app\components\component1\componen1.ts

my-angular-app\node_modules\angular-app2\components\component2-parent\component2-parent.ts

my-angular-app\node_modules\angular-app2\components\component2\component2.ts Component1.component.html:

component2-parent 包含 component2。