Angular 角度2:模块和组件差异

Angular 角度2:模块和组件差异,angular,Angular,我不太明白为什么Angular2有两个概念 模块 组成部分 他们之间的区别是什么?他们将扮演什么样的角色 何时需要创建子模块 何时需要创建子组件 模块和组件几乎没有任何共同之处,只是它们是带有装饰器的类,提供者可以向它们注册 组件是应用程序的可见部分,具有可选行为(事件处理程序) 引入了模块来拆分应用程序以进行延迟加载 子模块通常是一组服务、组件、指令和管道,它们共同构建了一个可重用的功能。 通过将一个模块添加到另一个模块的导入:[……],其所有内容都可供导入模块使用 子组件在Angular

我不太明白为什么Angular2有两个概念

  • 模块

  • 组成部分

  • 他们之间的区别是什么?他们将扮演什么样的角色

    • 何时需要创建子模块
    • 何时需要创建子组件

    模块和组件几乎没有任何共同之处,只是它们是带有装饰器的类,提供者可以向它们注册

    组件是应用程序的可见部分,具有可选行为(事件处理程序)

    引入了模块来拆分应用程序以进行延迟加载

    • 子模块通常是一组服务、组件、指令和管道,它们共同构建了一个可重用的功能。 通过将一个模块添加到另一个模块的导入:[……],其所有内容都可供导入模块使用

    • 子组件在Angular2中不是一个真正的术语。只有组件。一个特殊的组件是根组件。不同之处在于,根组件是通过引导Angular2应用程序创建的,而其他组件的创建是因为它们的选择器与另一个组件视图中的HTML匹配


    因此,除了根组件之外,所有组件都是子组件。

    基本上模块和组件都是不同的术语

    怎么做?

    Angular中的模块是一组组件、服务、过滤器或其他一些较小的模块,或者我们可以说您将所有这些导入到哪里,以便稍后在应用程序中使用以备将来使用。在单个应用程序中,可能存在一个或多个模块


    组件是一个单层或视图,用于执行某些操作等。可以根据需要延迟加载组件

    我认为模块可以通过“loadChildren”懒散地加载,但普通组件需要是这个模块的一部分才能懒散地加载