Angular-模块

1、入口组件(即:NgModule装饰器中的entryComponents数组)
    a、入口组件就是在angular中采用命令式加载的任意组件,即没有在模版中引用过的组件,可以用它来作为应用启动引导组件、路由定义时指定的组件
    b、主要有:
        》引导用的根组件
        》路由定义中指定的组件
        》具体开发中在组件类中动态加载的组件
    c、在根模块的NgModule装饰器属性bootstrap中指定的组件、路由定义中指定的组件,angular会隐士的自动将其添加到NgModule装饰器属性entryComponents数组中
    d、对于启动应用使用的模块引导方式除了在Ngmodule装饰器的属性bootStrap数组中采用声明式的引导,也可以通过在模块的ngDoBootstrap()方法中采用命令式的引导
    e、入口组件的编译:Angular的编译器只对可以通过entryComponents数组找到或者是能够间接找到的组件进行编译,而那些没有用过的组件就会被摇树优化机制给优化掉
    注意:在采用Ivy渲染引擎下已经弃用入口组件
 
2、检查模块是否重复导入
constructor(@Optional() @SkipSelf() parentModule?: OtherModule) {
    if (parentModule) {
        throw new Error(模块已经添加')
    }
}
    
3、NgModule API
》静态的:declarations:编译器配置,告诉编译器指令的选择器以及决定该指令应用到模版中的什么位置
》动态的:providers:注入器配置,依赖服务的提供者
》组合/分组:imports\exports,把多个NgModule放在一起,并使其可用 
posted @ 2022-01-15 18:22  满怀期望的人  阅读(115)  评论(0编辑  收藏  举报