Angular框架
一. 安装node环境.
- 使用npm install -g @Angular/cli 来全局的安装Angular库.
- 使用
ng new Demo-name
来创建一个Angular工程. - 进入工程目录下,使用
ng serve --open
或者ng serve -o
,
来开启并自动打开浏览器. - 终端如果关闭或者使用
ctrl+c
来终止工程的运行.
二.目录介绍
- 根目录下的
package.json
文件,相当于maven
项目中pom.xml
,
里面保存着该工程所需的依赖. - 根目录下的
node_modules
文件夹,相当于java工程中的所有外部jar包.
在工程目录下,使用npm install
命令,可以根据package.json
中的配置自动下载所有的依赖. tslint.json
,里面保存着编码规范,如果编码过程中不符合该规范,那么会出现各种警告.src
文件夹,保存着源代码.src
中的index.html
,首页.src/style.css
,全局的样式.src/assets
文件夹,保存静态资源.src/app
文件夹,主要的代码区.
三.概念
component
,组件.一般情况下,一个html,一个css,一个TypeScript,组成一个组件.
这三个资源可以定义一个完整的局部页面,包括内容/样式/业务逻辑信息.module
,模块.一个模块中会包含多个组件,一个路由和多个服务.
组件必须声明到模块中才能使用.如果在某个组件中,需要使用第三方的模块,
那么这个第三方的模块需要导入(import)到该模块中.
四.编码
1. 同一个组件(component)
- 在html中显示ts中的某个变量,使用
{{变量名}}
. - 将ts中的某个变量赋值给html中的某个元素的某个属性,使用
[属性名]="变量"
. - 设置html中某个元素的某个事件,使用
(事件)="ts中的函数(值)"
. - 双向绑定,在模块(module)中导入
FormsModule
,然后在html中,
使用[(ngModule)]="变量"
来进行双向绑定. - 在需要循环的元素属性位置,使用
*ngFor = "let item of array"
进行循环. - 在需要动态显示或隐藏的元素属性位置使用
*ngIf="表达式"
来控制该元素是否显示.
2. 父子组件间通信
- 父组件把数据传递到子组件,
在子组件中,在某个属性上使用@Input()
注解,表示该属性是需要从该组件外部传递进来的.
在使用该组件的时候,指定该组件的[变量名]="父组件中的变量"
来进行传值. - 子组件把事件传递到父组件,
在子组件中声明一个EventEmitter
属性,
在该属性上标识@Output()
注解.
在某个时机(点击/请求开始/结束/change事件等等),
调用EventEmitter
对象的emit
方法来触发事件的传递.
在父组件中,使用子组件的时候,使用(事件名)="父组件中的函数"
来订阅该事件,
这样,当子组件发送事件的时候,父组件就可以接收到了.