浅析Angular中什么是ngModule
时间:2021-09-27
来源:互联网
标签:
今天PHP爱好者给大家带来什么是ngModule?本篇文章带给大家简单了解一下angular语法,介绍一下Angular中的ngModule,希望对大家有所帮助!

作为Angular10教程,在我的理解中,angular相较于VUE,它的模块化做得更好,这样使代码结构显得更清晰。所以本节,我们将简单介绍下angular语法,对ngModule的理解。
首先,什么是angular module(ngModule)?
我的理解:其实就是被@NgModule所装饰的普通的类,没有什么特别的。
那么问题来了,什么又是@NgModule呢?
先来看看src/app/app.module.ts里默认代码:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
// @NgModule(元数据)
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { } // 模块名AppModule@NgModule 获取一个元数据对象,它会告诉 Angular 如何编译和启动本应用。(元数据不止上面这几个配置项,但我们先说这几个)
declarations数组
这个单词本身的意思是“公告、宣告”,在这里是本模块的依赖项。包括模块可能会依赖的一些组件、指令和管道。引入规则:
- 要使用他们,就必须先引入。 \
- 一个组件、指令或管道只能被一个模块引入(声明)
- 在declarations中的组件默认只能在当前模块中使用,要想让其他模块使用,必须exports出去
imports数组
imports数组只会出现在@NgModule装饰器中,一个模块想要正常工作,除了本身的依赖项(declarations),还可能需要其他模块导出的依赖项。 只要是angular module,都可以导入imports数组中,比如自定义的模块(如:AppRoutingModule),第三方或者ng内置的(@angular/**)都可以
providers数组
提供一系列服务
bootstrap数组
数组中的每个组件,都作为组件树的根(根组件),引用在启动的过程中,会将这里面的组件逐个解析并插入到浏览器的DOM中。
但是通常情况下,里面只会有一个AppComponent。
那angular组件又是什么样呢?
先看app组件,src/app/app.component.ts的默认代码:
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {// 组件名AppComponent
title = 'hero';
}可以看出,还是常规操作:引入–>配置–>导出
selector:
顾名思义,就是个选择器,一个能通过原生JS选中的选择器而已(必填配置)。
templateUrl:
Angular 组件模板文件的 URL。如果提供了它,就不要再用 template来提供内联模板了(templateUrl和template选项二选一,必填配置)。
styleUrls:
这也不难看出,就是引入一个或多个样式路径的配置(可选配置)
如果组件比较简单,我们也可以不必单独抽出页面及样式,@Component的配置项可以直接使用内联形式:
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
template: `
<h1>{{title}}</h1>
<h2>My favorite hero is: {{myHero}}</h2>
`,
styles: [`h1 { color: red }`]
})
export class AppComponent { // 组件名AppComponent
title = 'Tour of Heroes';
myHero = 'Windstorm';
}到此为止,我们其实简单讲了下默认的这个App模块,至于里面的app-routing.module.ts这个文件,咱们后面遇到了再说。
angular应用总的思路应该是这样的:
举例说明,如果一个angular应用是一个公司,那么AppModule就是这个公司。AppComponent就是这个公司的一个工厂,公司可以有很多个工厂。declearation数组里面的元素就是组成工厂的一部分,比如生产车间、人员管理系统等。imports数组就像是工厂请来的外援,专业性比较强。providers数组就像是后勤部门,提供各种服务。
更多编程相关知识,请访问:编程入门!!
以上就是浅析Angular中什么是ngModule的详细内容,更多请关注php爱好者其它相关文章!
-
电脑出现normal.dotm错误怎么办?解决方法是什么? 时间:2025-12-15 -
normal.dotm在哪个文件夹里 如何删除normal模板 时间:2025-12-15 -
d3dll.dll不能启动怎么办?怎么修复? 时间:2025-12-15 -
psrpc.dll缺失的原因及解决方法 时间:2025-12-15 -
JavaScript插件Lightbox.js用法详解 时间:2025-12-15 -
isalpha()函数在Python中的用法详解 时间:2025-12-15
今日更新
-
欧易借贷功能操作指南:简单几步轻松借款
阅读:18
-
一耽漫画下载安装安卓最新版-一耽漫画app官方正版免费下载
阅读:18
-
学习通网页版账号快捷登录入口-学习通网页版一键直达学习主页
阅读:18
-
阿里旺旺官网直达入口-2026阿里旺旺官方首页最新网址一键获取
阅读:18
-
虫虫漫画入口官网-虫虫漫画官方正版免费阅读入口
阅读:18
-
微信文件传输助手网页版官网 最新登录入口
阅读:18
-
皮小妹是皮皮搞笑中的爆梗达人 魔性表情包女王 看完笑到停不下来
阅读:18
-
借款利率如何计算?最新贷款利息解析与省钱技巧
阅读:18
-
126邮箱官网入口-126邮箱免费注册官方正版
阅读:18
-
233乐园极速下载安装入口-233乐园官方正版免费下载安全通道
阅读:18










