问题标签 [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.
angular - 类型 'Year' 不能分配给类型 'Year[]'。“年份”类型中缺少属性“包含”
使用 angular 4 和 observable 时出现错误。
src/app/ca-calendar/calendar.component.ts(84,5) 中的错误:错误 TS2322:类型“Observable”不可分配给类型“Observable”。类型 'Year' 不能分配给类型 'Year[]'。“年份”类型中缺少属性“包含”。
我究竟做错了什么?
服务:
零件:
...和型号
angular - 为什么 Angular 为 HttpClient 使用 Observable?
根据https://angular.io/tutorial/toh-pt6
一般来说,一个 observable 可以随着时间的推移返回多个值。来自 HttpClient 的 observable 总是发出单个值然后完成,不再发出。
确实如此,一旦请求完成,Http 请求/响应就不能再产生任何值了。那么 HTTPClient 在发出请求时返回 Observable 的主要原因是什么?仅仅是因为我们可以在 Observable 上应用大量运算符(重试、去抖动等)吗?或者还有其他我失踪的具体原因吗?
angular - 什么是 Observables 以及它们在 HttpClient 中有何不同
在 Angular 中,我们有 Observables 可以更轻松地处理 HTTP 请求。除了有这样的功能
地图(),订阅(),管道()
我知道的不多。
我在这里面临的问题是,何时使用此功能,最适合哪种情况?我根本不关注这些。
angular - Angular 订阅 observable 然后返回一个新的
我正在使用 HttpClientget
从网络服务获取数据。我想订阅结果数据并将其从 JSON 转换为实际的类,然后有一个Observable
从该方法返回这些类中的一个。基本上,当调用者subscribe
触发时,我希望它能够上课。
我对 angular 和 observables 很陌生,所以我不确定如何进行链接。所以我想要类似的东西:
这当然不会真正编译,然后调用者会这样做:
那时我将拥有ars
一个实际的EhsAssessmentAr[]
.
angular - Angular 6:“Observable”类型上不存在属性“catch”'?
我正在将我的应用程序升级到Angular 6。我正在从Angular 4升级,但下面的代码在 Angular 6 中导致错误,它在 Angular 4 中运行良好。
我得到的错误:
“typeof Observable”类型上不存在属性“of”
错误:“Observable”类型上不存在属性“catch”
我应该如何解决这些错误?
javascript - Angular 5 - 可观察的返回错误无法读取未定义的属性
当我使用httpClient调用我的 Web 服务时,我开始在我的 Angular 服务中使用 Spring Rest 和 Angular 5 实现一个简单的分页,并通过请求的页面获得正确的响应,它在我的页面上正确显示数据,但控制台 Web 出现错误浏览器在我的*ngFor循环中出现错误无法读取未定义的属性,尽管模板显示结果正确:
问题出在 Service 方法中:getPageClient() 和 *ngFor 指令这是我的错误日志:
这是我使用 observable 的服务:
这是我的模型类:
这是我的组件代码:
这是我实现分页的模板部分:
有人可以帮我提前找到我的 ObservableThanks 的问题吗
angular - observable 不订阅
我已经使用了受下一个可观察的行为。
组件1.ts
服务.ts
组件2.ts
如果我在订阅 $search 后删除 subscription.push(tempSubscription)
然后订阅工作。否则其中没有任何记录。此外,如果我采用不同的变量来存储两个可观察的输出,那么它也可以工作。
注意:相同的 observable 以类似的方式在其他组件中订阅,并且工作正常。通过将可观察对象推入数组然后取消订阅,我做错了什么?
angular - 使用 HttpClient 在 Angular 6 中使用 REST 服务会在订阅时提供未定义的 Observable 值
我创建了一个 Angular 服务,它返回一个Observable对象数组,使用of
from rxjs
:
它工作正常,直到我用这样of
的实际HttpClient.get()
请求替换该部分:
我已经测试了给出 JSON 结果的 URL:
我已将组件中的 observable 订阅为:
console.log()
subscribe 方法内部的A 实际上记录了从该方法接收到的 JSON 数据HttpClient.get()
,但是该属性this.allHackfests
仍然存在undefined
,因此当我尝试访问其任何属性时会出错。
Angular 6的官方教程有一个类似的实现,他们声明:
您已经换成了 http.get 并且应用程序继续工作而无需任何其他更改,因为这两个函数都返回一个 Observable
显然,该声明与我在实施中观察到的不一致。还有一些我可能会遗漏的变化吗?
angular - 即使没有在 BehaviorSubject 上调用 next 也订阅 observable
我有一个简单的场景:
服务.ts:
组件.ts:
组件2.ts:
我在 openComposeMsg() 中记录了一条消息。我面临的问题是,我第一次正确订阅 showComposeBox observable 但第二次订阅时即使没有调用下一个,因为 msg "in openComposeBox" 没有登录到控制台。
无法理解 BehaviorSubject 的行为。我究竟做错了什么?
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。