使用@Input在组件之间传递数据并使用router-out?

时间:2019-03-05 15:58:21

标签: angular router router-outlet data-handling

在组件之间传递数据的最简单方法是什么?我认为对于Parent-> child您应该使用@Input,但是如果您使用router-outlet,它似乎并没有真正的用处,因为您需要访问孩子的模板(而且我不知道如何在您使用该模板时使用)使用路由器插座)和/或大型应用程序。 除此之外,只有正确使用服务才对吗?

This似乎是一个很好的解释,但我无法将其翻译成我的问题。由于我正在做一个更大的项目(在我工作期间学习初级和学习角度知识),所以我不能只是在这里和那里弹出一些值。

我也从服务开始,但是我的上司说我不需要它,但是服务的使用对我来说似乎很合理。

1 个答案:

答案 0 :(得分:0)

您肯定可以与服务共享数据,尽管它通常被视为一种代码味道,因为您通常会尝试避免服务中的有状态性。

但是,根据我的经验,通常最好使组件对自己负责。由于这些页面是兄弟姐妹,因此,我将研究使兄弟姐妹组件也负责获取数据。

如果数据足够小或仅有一些ID,则可以使用查询字符串参数来传递数据。

编辑:一种替代方法是也使用诸如NGRX之类的库,但这将在设置时产生大量开销。