对于Angular2应用程序,组件从父级接收数据或组件是否自包含更好

时间:2017-02-14 13:48:52

标签: angular angular2-services angular2-components

Angular2能够创建包含组件,服务,模型等的模块。基本上,通过应用程序的共享模块提供的自包含单元。

在我开始开发的应用中,我的网页正在成为一系列组件。页面本身是否应负责检索页面所需的所有数据,然后将数据作为需要数据的组件的属性传递?或者,使用模块方法让每个组件负责检索其数据是否更好?用于检索数据的服务是模块的一部分?或者,使用适合给定情况的任何方法?

如果正确的答案是使用适合于给定情况的任何方法,那么您使用什么准则来确定父页面是否提供数据,或允许子组件自包含并检索其自己的数据?

感谢您的意见。

1 个答案:

答案 0 :(得分:1)

将应用程序拆分为模块,这有助于延迟加载,并根据DDD聚合根来考虑它是一个良好的开端。

然后在模块中,您可以使用帮助程序服务通过Http服务检索数据,然后将它们注入到路径组件中。

路由组件充当MVC控制器从服务获取数据,从路由获取参数并通常将内容连接在一起。

然后你可以拥有聪明或愚蠢的组件。

如果某个组件具有配套服务/与其他内容交互,那么它就是一个智能组件,并且它被认为是不纯的。

虽然愚蠢的组件只能通过@Input()获取其输入,并且只能通过@Output()发送事件。

智能组件通常由多个哑组件组成。 因为哑的组件更容易测试。