Angular2能够创建包含组件,服务,模型等的模块。基本上,通过应用程序的共享模块提供的自包含单元。
在我开始开发的应用中,我的网页正在成为一系列组件。页面本身是否应负责检索页面所需的所有数据,然后将数据作为需要数据的组件的属性传递?或者,使用模块方法让每个组件负责检索其数据是否更好?用于检索数据的服务是模块的一部分?或者,使用适合给定情况的任何方法?
如果正确的答案是使用适合于给定情况的任何方法,那么您使用什么准则来确定父页面是否提供数据,或允许子组件自包含并检索其自己的数据?
感谢您的意见。
答案 0 :(得分:1)
将应用程序拆分为模块,这有助于延迟加载,并根据DDD聚合根来考虑它是一个良好的开端。
然后在模块中,您可以使用帮助程序服务通过Http服务检索数据,然后将它们注入到路径组件中。
路由组件充当MVC控制器从服务获取数据,从路由获取参数并通常将内容连接在一起。
然后你可以拥有聪明或愚蠢的组件。
如果某个组件具有配套服务/与其他内容交互,那么它就是一个智能组件,并且它被认为是不纯的。
虽然愚蠢的组件只能通过@Input()
获取其输入,并且只能通过@Output()
发送事件。
智能组件通常由多个哑组件组成。 因为哑的组件更容易测试。