订阅可观察的输入

编程入门 行业动态 更新时间:2024-10-18 06:11:47
本文介绍了订阅可观察的输入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

是否可以订阅@Input的Observable?

例如:

export class MyComponent implements OnInit { @Input() results: Observable<string[]>; constructor() { this.results.subscribe(value => ...); } }

在此示例中,我无法订阅可观察对象,因为它是null ...

In this example I can't subscribe to the observable because it is null...

推荐答案

您应该实现OnChanges并在输入更改时订阅.

You should implement OnChanges and subscribe to the input when it changes.

export class MyComponent implements OnChanges { @Input() results: Observable<string[]>; constructor() { } ngOnChanges(changes){ if(changes["results"] && this.results){ this.results.subscribe(value => ...); } } }

这将使您可以在Observable可用时进行订阅,并在Observable参考发生更改时重新订阅.您可能需要根据用例考虑取消订阅旧实例.

This will allow you to subscribe to the Observable once it is available and re-subscribe to it anytime that the Observable reference changes. You may need to consider unsubscribing from old instance depending on your use-case.

更多推荐

订阅可观察的输入

本文发布于:2023-11-27 23:30:57,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1640038.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!