返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Angular入口组件与声明式组件的区别有哪些
  • 251
分享到

Angular入口组件与声明式组件的区别有哪些

2024-04-02 19:04:59 251人浏览 安东尼
摘要

小编给大家分享一下angular入口组件与声明式组件的区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言组件是Angu

小编给大家分享一下angular入口组件与声明式组件的区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

前言

组件是Angular中很重要的一部分,下面这篇文章就来给大家介绍关于Angular入口组件(entry component)与声明式组件的区别,Angular的声明式组件和入口组件的区别体现在两者的加载方式不同。

  • 声明式组件是通过组件声明的selector加载

入口组件(entry component)是通过组件的类型动态加载

声明式组件

声明式组件会在模板里通过组件声明的selector加载组件。

示例

@Component({
 selector: 'a-cmp',
 template: `
 <p>这是A组件</p>
 `
})
export class AComponent {}
@Component({
 selector: 'b-cmp',
 template: `
 <p>在B组件里内嵌A组件:</p>
 <a-cmp></a-cmp>
 `
})
export class BComponent {}

在BComponent的模板里,使用selector<a-cmp></a-cmp>声明加载AComponent。

入口组件(entry component)

入口组件是通过指定的组件类加载组件。

主要分为三类:

  • @NgModule.bootstrap里声明的启动组件,如AppComponent。

  • 在路由配置里引用的组件

  • 其他通过编程使用组件类型加载的动态组件

启动组件

app.component.ts

@Component({
 selector: 'app-root',
 templateUrl: './app.component.html',
 styleUrls: ['./app.component.sCSS']
})
export class AppComponent{}

app.module.ts

@NgModule({
 declarations: [
 AppComponent
 ],
 imports: [
 BrowserModule,
 BrowserAnimationsModule,
 AppRoutingModule
 ],
 providers: [],
 bootstrap: [AppComponent]
})
export class AppModule { }

在bootstrap里声明的AppComponent为启动组件。虽然我们会在index.html里使用组件的selector<app-root></app-root>的位置,但是Angular并不是根据此selector来加载AppComponent。这是容易让人误解的地方。因为index.html不属于任何组件模板,Angular需要通过编程使用bootstrap里声明的AppComponent类型加载组件,而不是使用selector。

由于Angular动态加载AppComponent,所有AppComponent是一个入口组件。

路由配置引用的组件

@Component({
 selector: 'app-nav',
 template: `
 <nav>
 <a routerLink="/home" routerLinkActive #rla="routerLinkActive" selected="#rla.isActive">首页</a>
 <a routerLink="/users" routerLinkActive #rla="routerLinkActive" selected="#rla.isActive">用户</a>
 </nav>
 <router-outlet></router-outlet>
 `
})
export class NavComponent {}

我们需要配置一个路由

const routes: Routes = [
 {
 path: "home",
 component: HomeComponent
 },
 {
 path: "user",
 component: UserComponent
 }
];

@NgModule({
 imports: [RouterModule.forRoot(routes)],
 exports: [RouterModule]
})
export class AppRoutingModule { }

Angular根据配置的路由,根据路由指定的组件类来加载组件,而不是通过组件的selector加载。

配置入口组件

在Angular里,对于入库组件需要在@NgModule.entryComponents里配置。

由于启动组件和路由配置里引用的组件都为入口组件,Angular会在编译时自动把这两种组件添加到@NgModule.entryComponents里。对于我们自己编写的动态组件需要手动添加到@NgModule.entryComponents里。

@NgModule({ declarations: [  AppComponent ], imports: [  BrowserModule,  BrowserAnimationsModule,  AppRoutingModule ], providers: [], entryComponents:[DialoGComponent], declarations:[] bootstrap: [AppComponent] }) export class AppModule { }

以上是“Angular入口组件与声明式组件的区别有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网JavaScript频道!

--结束END--

本文标题: Angular入口组件与声明式组件的区别有哪些

本文链接: https://lsjlt.com/news/80222.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Angular入口组件与声明式组件的区别有哪些
    小编给大家分享一下Angular入口组件与声明式组件的区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言组件是Angu...
    99+
    2024-04-02
  • Angular组件的交互方式有哪些
    这篇文章主要介绍Angular组件的交互方式有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Angular 组件交互组件交互: 组件通讯,让两个或多个组件之间共享信息。使用场景: 当某个功能在多个组件中被使用到时...
    99+
    2023-06-14
  • su组件和群组的区别有哪些
    这篇文章主要介绍了su组件和群组的区别有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。su组件和群组的区别:su组件是创建组,可以单独进行编辑操作,不受其它相同组的影响;...
    99+
    2023-06-15
  • java声明数组的方式有哪些
    在Java中,声明数组的方式有以下几种:1. 声明数组并指定长度:   ```   int[] array = ...
    99+
    2023-08-30
    java
  • shell声明数组的方式有哪些
    在 shell 中,声明数组的方式主要有以下几种:1、使用小括号可以使用小括号来声明数组,例如:```shellarr=(1 2 3...
    99+
    2023-05-13
    shell声明数组 shell
  • java的数组声明方式有哪些
    在Java中,有以下几种方式可以声明数组:1. 声明数组并分配内存空间:```javaint[] array = new int[5...
    99+
    2023-08-12
    java
  • React函数组件与类的区别有哪些
    目录一、函数式组件捕获了渲染所用的值二、闭包让类组件成为拥有特定props和state的渲染三、区分useState与useRef的使用首先我们要知道的是,项目性能能主要取决于代码的...
    99+
    2022-11-13
    React函数组件与类 React函数组件
  • react类组件和函数组件区别有哪些
    React 类组件和函数组件是两种不同的组件写法,它们之间有以下几个主要区别:1. 语法:React 类组件是通过 ES6 的 cl...
    99+
    2023-10-07
    react
  • java中声明数组的方式有哪些
    在Java中,声明数组的方式有以下几种:1. 声明一个数组变量,但不初始化数组:    ```   &...
    99+
    2023-08-30
    java
  • vue全局组件和局部组件的区别有哪些
    今天小编给大家分享一下vue全局组件和局部组件的区别有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。区别:1、使用范围不...
    99+
    2023-07-04
  • Angular前端组件库有哪些
    小编给大家分享一下Angular前端组件库有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Angular 是一款能够跨 Web、移动 Web、移动应用、原生应...
    99+
    2023-06-14
  • vue中插件和组件的区别有哪些
    这篇文章主要为大家展示了“vue中插件和组件的区别有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue中插件和组件的区别有哪些”这篇文章吧。 ...
    99+
    2024-04-02
  • vue中异步组件和动态组件的区别有哪些
    本篇内容主要讲解“vue中异步组件和动态组件的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue中异步组件和动态组件的区别有哪些”吧! ...
    99+
    2024-04-02
  • react受控组件和不受控组件的区别有哪些
    今天小编给大家分享的是react受控组件和不受控组件的区别有哪些,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。 reac...
    99+
    2024-04-02
  • angular与react的区别有哪些
    这篇文章主要介绍了angular与react的区别有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇angular与react的区别有哪些文章都会有所收获,下面我们一起来看看...
    99+
    2024-04-02
  • angular与bootstrap的区别有哪些
    这篇文章给大家分享的是有关angular与bootstrap的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 区别:1、angular是一个...
    99+
    2024-04-02
  • Angular组件的生命周期有哪些
    这期内容当中小编将会给大家带来有关Angular组件的生命周期有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。概述组件声明周期以及angular的变化发现机制红色方法只执行一次。变更检测执行的绿色方法...
    99+
    2023-06-15
  • angular组件传值的方法有哪些
    Angular组件之间传值的方法有以下几种: 输入属性(@Input):在子组件上通过@Input装饰器定义一个输入属性,然后在...
    99+
    2023-10-24
    angular
  • vue中mixin和组件的区别有哪些
    这篇文章主要介绍“vue中mixin和组件的区别有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue中mixin和组件的区别有哪些”文章能帮助大家解决问题。mixin和组件的区别:组件在引用之...
    99+
    2023-07-04
  • vue引入组件有哪些方式
    在vue中引入组件的方式有:1.使用import方法导入;2.使用require方法导入;在vue中引入组件的方式有以下两种使用import方法导入组件import Vue from 'vue'...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作