gpt4 book ai didi

angular - 为什么 Angular 2 在路由中使用 Observable 而不是简单的数组?

转载 作者:行者123 更新时间:2023-12-04 12:48:25 25 4
gpt4 key购买 nike

ActivatedRoute字段是 Observable。例如,我们想要获取一个 id 参数或只是 URL 的第 n 段。我们使用 Observables 而不是简单的映射或数组。这是对异步的过度使用还是出于某种目的真的需要这种方式?

最佳答案

您可以使用 snapshot field of the ActivatedRoute 获取参数的当前 版本.

但默认情况下,如果您从一条路线导航到同一路线,路由器会重复使用同一组件,仅更改参数。因此,您需要一个 Observable 来响应组件内部参数值的变化。

例如,假设您有一个要显示的练习列表。单击练习时,您将转到 /exercises/1。在显示练习的组件模板中,您有一个指向 /exercises/2 的“Next”链接。单击该链接将使 params Observable 发出一个新值。但是路由器不会创建 ActivatedRoute 的新实例,也不会创建 ExerciseComponent 的新实例。 ExerciseComponent 需要订阅可观察的参数,以便在发出事件时加载练习 2 的详细信息。

如果您没有这样的链接,那么快照就是您所需要的,它确实包含作为常规对象的参数。

关于angular - 为什么 Angular 2 在路由中使用 Observable 而不是简单的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42188270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com