关于Angular2的学习笔记
来源:互联网 发布:淘宝如何发布虚拟宝贝 编辑:程序博客网 时间:2024/05/21 08:56
Angular的学习笔记
ps:两个星期断断续续的摸索,终于入门了Angular2.。。只能说是入门。。。学习曲线果然是够曲折(ง •̀_•́)ง。。。。。
(1)起步:如何搭建一个Angular2项目的运行环境
(默认已经安装了node,如果没安装的话,百度官网下载.exe,直接下一步下一步就可以,node要求不是很高)
1)起项目的地方,建一个文件夹
2)进入这个文件夹,右击git bash here
3)npm install -g @angular/cli //安装angular脚手架,脚手架就是angular2帮你搭建好的一个angular的环境,我们直接下载 下来就行
4)ng new my-app //ng是angular脚手架的命令,如果安装成功,就可以直接使用这样ng开头的命令。 my-app就是我们项目的名字
5)编译器打开这个项目(我这里是intellij idea),在terminal终端输入ng serve --open打开我们localhost:4200默认页面
你的编译器没有终端也没关系,直接在git bash here里面输入命令也行
(2)项目目录结构解析:
1)e2e:angular2的语法是typescript的(不明白什么是typescript,去看上一篇博客),e2e是typescript的一些配置文件,这边不需要我们作什么修改,忽略它就行。
2)node_modules:一个或多个node模块,这里是和package.json对应的,svn或者git一些版本控制,并不需要提交node_modules模块,这些node_modules模块的目录会在package.json这个文件里,我们检出的时候,在终端(git bash here)输入npm install之后,就会把这些模块自动下载下来。
3)src:source资源文件夹,app文件夹下面是我们的页面组件,此时不得不说另一个文件,README.md,打开可以看到一些基本的ng命令,比如说我们现在需要新建一个list页面,打开README.md,它告诉我们,新建这个页面的命令是
ng generate component component-name,输入这个命令之后便会在app目录下新建出一个list的组件(这里的新建页面不是跟之前一样右击新建了~~~)
4)assets,可以放一些我们自己的文件,这边我放的是自己模拟的json数据
5)enviroment是环境配置,忽略
6)比较重要的文件就上面这么多,详细的话后续说明
(3)Angular2中的数据绑定
1)模板绑定 :在html页面中使用表达式{{myStr}}
2)属性绑定: 在input中,<input [value]="myStr" />
3)数据双向绑定:[(ngModule)]
(4)父子组件之间的数据传递以及子组件之间的数据传递
1)父组件与子组件之间:Input 用来让父模块往子模块传递内容所需要的特殊模块,并且@Input要和自定义属性一起使用
比如:父组件app.component.html要使用home.component.ts里面的person数据,在home.component.ts里面@Input 自定义属性,同时需要import Input这个模块 。找到公共的部分,写入这个自定义属性
同样的,当子模块想定义一些事件给父模块的时候,使用Output
比如:home.component.html传递一个事件给父级组app.component.ts去触发。
子组件之间的数据传递:service
详细的例子戳这个url:http://m.php.cn/article/362329.html
(5)路由
1) 关于页面之间的跳转,我们必须明白Angular2的路由是怎么样的机制:
index.html(app-root)------->app.component.html-------->各种页面组件
2)具体实现
a.在app目录下新建一个app.routes.ts文件,
b.配置这个文件
其中,appRoutes是声明的一个常量,这个常量是Routes类型
c.建立联系:将app.component.html和app.routes.ts建立联系。在app.module.ts里面import这个文件。要想文件能被import首先文件本身要暴露一个接口:
app.module.ts暂时这么理解:所有的.ts文件和依赖都在这里引入(想不到更专业的解释了(๑•̀ㅂ•́)و✧)。
d.最后在页面中写入页面路径
<li [routerLink]="['/home']"></li>......路由中要注意各种语法写的对不对。。。
(6)路由参数
1)如何表示路由参数:path:“home/:person”
2)想要路由参数能起作用,必须还要引入一个路由参数模块:在需要传参的.ts文件里面引入
import {ActivatedRoute} from "@angular/router"。这个模块帮我们拿到ActivatedRoute这个类。这个类帮我们创建一个对象从而获得对应的路由参数。
3).ts文件里的写法:路由参数是页面刷新就需要获取到的参数,所以得写在constructor里面
constructor(private route:ActivatedRoute)
{
route.snapshot.params[''person]
}
4)关于constructor和ngOnInit:
变量定义 变量声明 上来就需要请求数据的 可以在construtor里
其他的方法 在ngOninit中
(7)指令
1)组件指令:<app-list></app-list> || <router-outlet></router-outlet>
2)属性指令:ngClass = "类名" 改变dom样式
3)结构指令:*ngIf = "表达式" 改变dom结构
(8)结构样式
(9)pipe管道,相当于angular1中的过滤器
1)内置管道:uppercase ,lowercase,slice
2)自定义管道 name:something
cd src/app
ng g pipe my-filter //新建一个my-filter.pipe.ts的文件
比如:自定义一个搜索指令:
其中,people是我们需要搜索的列表,term是input框里的搜索参数
(10)服务Service
1)service的作用: 很多组件--->服务--->数据库
2)创建服务:ng g s my-logging
3)组件内部,import这个Service,并且需要在app.module.ts里面写上依赖providers
(11)Http
1)Http服务是用于从后台程序获取或者更新数据的一种机制
2)引入模块,创建对象(引入模块就是引入了这个类,使用这个类就需要创建对象),在app.module.ts里面引入HttpModule
3)http请求,最好放在一个service服务的文件夹里面
4)http请求下来的数据,不是标准的json 格式,这里需要我们借助第三方库将其转化为我们可以使用的json格式
import "rxjs/add/operator/map"
5)处理请求数据:subscribe(将请求到的数据运用箭头函数进行处理)
Http请求完了,,,接下来就是个人造化了~~~~
文章好长~~~~~~~~~~
文章好长~~~~~~~~~~
- 关于Angular2的学习笔记
- 关于 Angular2 学习的一些小结
- Angular2学习笔记2
- Angular2 学习笔记
- angular2.0学习笔记
- angular2 学习笔记 1
- angular2学习笔记 2
- angular2 学习笔记3
- angular2学习笔记
- angular2学习笔记
- Angular2学习笔记
- Angular2学习笔记1
- angular2学习笔记(1)
- angular2学习笔记(2)
- angular2学习笔记(3)
- angular2学习笔记(4)
- angular2学习笔记(5)
- angular2学习笔记(6)
- jQuery中ajax接收数据时都能接收什么类型
- 写一点我自己做平衡小车的经验吧
- cropper.js HTML5 裁剪图片 canvas 转base64
- EXCEL跨两张表插入查询数据
- C++ 设计模式-单例-工厂
- 关于Angular2的学习笔记
- jQuery表单验证插件—jquery-validate
- 数据挖掘十大算法【转载】
- 纯真IP地址库重制版(增加行政编码)
- Kotlin开发之点击事件
- linux-Makefile-注释
- IT之家学院:Photoshop简介及学习方法
- Python编程从入门到实践-书籍学习笔记
- python watchdog:监控文件系统事件的Python库