Angular2入门之模块与组件1.初步了解模块和组件 在上两篇文章中讲述了构建工程,这篇文章简单讲述一下Angular2中的模块和组件。 app文件夹目录.png   app文件夹下有五个文件,其

1.初步了解模块和组件
在上两篇文章中讲述了构建工程,这篇文章简单讲述一下Angular2中的模块和组件。
app文件夹目录.png

app文件夹下有五个文件,其中,app.component.spec.ts应该是和模块测试有关的文件,目前不用管它。剩下的四个文件就是典型的模块+组件的文件组成模式。
  Angular2应用由模块和组件构成,每个模块这样明明name.module.ts,组件则是name.component.ts。
  这几个文件的关系是从属关系:
|–app.module.ts(模块)
 |–app.component.ts(组件)
  |–app.component.html(HTML模板)
  |–app.component.css(CSS样式表)
一个模块可以有多个组件,一个组件也可以有多个样式表,但只有一个HTML模板。
1.1组件的含义
Angular2中的组件,就是我们自定义的一段HTML代码,给他取个名字,就可以当作HTML的标签使用了。假如组件的名字是my-app,那么就可以这样使用:

//可以像原生标签一样添加属性,而且组件能接收的属性更丰富 //标签里面也可以放内容
组件其实是一个类,它定义了一系列方法和属性,并且把HTML模板封装起来。它的意义是,你可以把它当做一个独立的隔离的盒子,并利用其中的方法和属性进行盒子内部的操作,以及和外界的父组件、兄弟组件交互。

1.2模块的含义
模块就是将一系列的组件还有指令、服务整合封装到一起,提供一个完整的功能。模块可以被外部模块引用。

2.模块详解和根模块
2.1 根模块
每个应用会有一个根模块,按照约定,它的类名叫做AppModule,被放在app.module.ts文件中。应用启动时,就会加载这个模块。
  每个根模块会有一个根组件,默认就是app.component.ts,名字是app-root。
  查看项目目录中的index.html,会发现有Loading…这样的代码,就是在加载这个根模块。

2.2 模块详解
下面是app.module.ts的代码。

import { BrowserModule } from ‘@angular/platform-browser’;//每个在浏览器中运行
//的应用的根模块都需要引入BrowserModule
import { NgModule } from ‘@angular/core’;//每个模块都需要引入的核心库中的NgModule
import { FormsModule } from ‘@angular/forms’;//表单模块,在应用中使用表单时引入
import { HttpModule } from ‘@angular/http’;//http模块,当需要进行http远程请求时引入

import { AppComponent } from ‘./app.component’;//自己创建的组件

@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Angular2用TypeScript组织代码的方式大致就像这个文件一样。

在顶部使用import语句,导入模块或者组件需要使用的外部模块。
在模块中需要使用自己创建的组件或者其他服务、指令,也需要import。

import语句之后,使用@NgModule()语句描述本模块的元数据。

declarations:声明属于本模块的组件,每个组件必须在且仅在一个模块中声明。
imports:引入买本模块中用到的模块,该模块是处于import语句引入的模块中。
providers:声明模块中使用的服务的提供者,暂时还没有用到。
bootstrap:根模块中的引导组件,应用启动过程中,会创建这个数组中的组件并插入到HTML中,一般只有一个引导组件。
最后,使用export语句,创建模块的类并暴露出去。
模块、组件只有暴露出去,其他的模块才能引用。

3.组件详解
import { Component } from ‘@angular/core’; //所有组件必须引入

@Component({
selector: ‘app-root’,
templateUrl: ‘./app.component.html’,
styleUrls: [’./app.component.css’]
})
export class AppComponent {
title = ‘app works! 你已经完成了第一步’;
}
import语句导入需要的模块。
使用@Component()来描述本组件的元数据。
selector:创建的组件的名字,就像HTML标签的名字一样
templateUrl: HTML模板,使用相对路径,./表示这个组件文件所在的当前目录,
styleUrls:HTML模板使用的样式表,可以有多个。
最后,使用export创建组件的类并暴露出去。在类中,可以创建属性和方法。
4.应用启动过程
  整个应用的启动流程:加载根模块,加载所需的其他模块,创建引导组件,显示组件内容。

作者:胡不归vac
链接:https://www.jianshu.com/p/1102d886aebe
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值