一、模块
1、特性模块: 纯业务模块,一个顶级组件下挂很多子组件,大部分由declarations组成, 只导出顶出组件,若有服务的生命周期必须和模块相同。
2、路由特性模块:顶级组件只用作导航使用(懒加载),不会导出任何东西,不会被任何模块导入
3、路由模块
4、服务模块,不应该有声明对象,只应该由根组件导入
特性模块 |
声明 |
提供商 |
导出什么 |
被谁导入 |
---|---|---|---|---|
领域 |
有 |
罕见 |
顶级组件 |
特性模块,AppModule |
路由特性 |
有 |
罕见 |
无 |
无 |
路由 |
无 |
是(守卫) |
RouterModule |
特性(供路由使用) |
服务 |
无 |
有 |
无 |
AppModule |
窗口部件 |
有 |
罕见 |
有 |
特性 |
entrycomponent入口组件,Angular 编译器只会为那些可以从 entryComponents
中直接或间接访问到的组件生成代码
提供商就相当于说明书,用来指导 DI 系统该如何获取某个依赖的值。
服务导入,优先是prividedin:"root",若指定模块,建议是 providers: [UserService],
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。