Angular 2: Observables 在导航到另一条路线时销毁自身
Angular 2: Observables destroy itself when navigating to another route
我对可观察对象及其订阅有疑问。当导航离开订阅发起的页面时,可观察订阅会自行销毁吗?
此外,如果解析器从一个可观察对象返回数据,我是否需要取消订阅该可观察对象?我通过以下语法使用解析器数据
this.resolverData = this.activatedRoute.snapshot.data['resolver1'];
1) 是的,如果你想在不同状态之间保留可观察数据,你需要将它包含在一个服务中,并将该服务注入相关的应用程序模块(如果你想让更多组件了解,则在组件树上更高)它等等)
2) 如果你想有意结束一个observable stream,你可以尝试dispose方法,或者你想在observable stream结束或抛出一个事件时触发一个事件例外,你可以使用finally方法。
我希望这能回答您的两个问题:)
我对可观察对象及其订阅有疑问。当导航离开订阅发起的页面时,可观察订阅会自行销毁吗?
此外,如果解析器从一个可观察对象返回数据,我是否需要取消订阅该可观察对象?我通过以下语法使用解析器数据
this.resolverData = this.activatedRoute.snapshot.data['resolver1'];
1) 是的,如果你想在不同状态之间保留可观察数据,你需要将它包含在一个服务中,并将该服务注入相关的应用程序模块(如果你想让更多组件了解,则在组件树上更高)它等等)
2) 如果你想有意结束一个observable stream,你可以尝试dispose方法,或者你想在observable stream结束或抛出一个事件时触发一个事件例外,你可以使用finally方法。
我希望这能回答您的两个问题:)