AngularJS中声明和entryComponents之间的区别

AngularJS中声明和entryComponents之间的区别

  • 声明。这些是属于(本)模块的组件、指令和管道(声明)的集合。这些组件都在本地范围内(私有可见性)。
    语法:
declarations: Array<Type | any[]>
  • 选择器的集合(指令、组件、管道)被声明。
    1.可用于模板的使用。
    2.那些从导入的NgModules中导出的。
  • entryComponent。entryComponent是强制加载angular的组件,这意味着这些组件在HTML模板中没有被引用。在大多数情况下,Angular会在组件模板中明确声明的情况下加载一个组件。但对于entryComponents来说,情况并非如此。entryComponents只被动态加载,在组件模板中从不被引用。它指的是在HTML中找不到的组件数组。
    Bootstrap entryComponent提供了应用程序的入口点。Routed entryComponents不是在组件的HTML中明确指定的,而是在routes array中注册的。这些组件也是动态加载的,因此Angular需要了解它们。
    下面是一个app.module.ts看起来像什么的例子。
import { BrowserModule } from
    '@angular/platform-browser';
import { NgModule } from '@angular/core';
 
import { HeaderComponent } from
    './header/header.component';
import { ListComponent } from
    './list/list.component';
import { DetailComponent } from
    './detail/detail.component';
 
import { AppComponent } from
    './app.component';
 
@NgModule({
  declarations: [
    AppComponent,
    HeaderComponent,
    ListComponent,
    DetailComponent,
  ],
  imports: [
    BrowserModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }
  • 在上面的例子中,所有的组件和管道都被列在声明中,但只有AppComponent被列在bootstrap中,因为它是一个入口组件。

条目组件和声明之间的区别:

入口组件 声明
entryComponent数组确保树形晃动不会破坏应用程序。 Declarations数组确保了模块的封装。
entryComponents用于在模块中注册用于离线计算的组件。这些组件在这里被引用,因为它们在HTML模板的其他地方没有被引用。 声明是用来在一个特定的模块中制定指令(组件,管道等)。
用于路由器配置的组件可以被隐式添加。 指令、组件和管道只有在它们被声明或导入时才会与HTML匹配。
组件阵列是由ComponentFactoryReolver添加的。 组件数组可以在HTML模板中找到。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程