1、创建项目
(1)在命令窗口:ng new 项目名
(2)在WebStrom中File=>New=>project=>Angular CLI
比较慢,需要耐心等待;

2、新建组件(head和message)
- ng g component head
- ng g component message

3、在app文件夹下会生成head文件夹和message文件夹

- 分别在head.component.html和message.component.html中写各自的html布局
- 分别在head.component.css和message.component.css中写各自的css样式
在head.component.ts和message.component.ts中已经分别定义了各自的组件标签名app-head和app-message,然后把这两个标签写进app.component.html中,就可以显示在head.component.html和message.component.html中写的内容了


4、因为消息不是确定的,是后台给你的,要在message.component.ts文件中的得到数据,然后在渲染到页面message.component.html。

message.component.ts文件里写代码非常的严格(少个空格都会错,只能用单引号),可以在tslint.json文件里查找whitespace和quotemark:
修改设置


5、路由
由于Angular是一个SPA(single page application)应用,即主页面只加载一次,不在刷新只是改变页面上部分内容的应用,又称为单页应用。所以就用到了路由
- 新建组件(详情页面)
ng g component messagedetail - 需要在app.module.ts中配置路由信息,如图:

- 不同的路由展示不同的文件
(1)在app.component.html页面写个a标签,点击进入详情页:


(2)在message.component.html页面添加点击事件,点击进入详情页:


当我们点击进入详情页之后,会在地址栏显示localhost:4200/detail;我们可以直接在这拼上/dizhi,但有的我们没有配置,就会什么也不显示还会报错,是个不友好的体验,所以我们可以新建一个页面,页面丢失了
ng g component default
app.module.ts
6、如何导入第三方库(例导入jquery)
(1)第一步下载:
cnpm install jquery --save
--save是生产环境(上线之后叫生产环境)
--save-dev是开发环境(上线之前叫开发环境)

下载好之后:
在package.json中的"dependencies"中有'jquery'依赖
在node-modeles文件夹下有jquery包

(2)在angular.cli.json 文件中配置"scripts:[jquery.js的路径]"

当我关闭项目,在ng serve 的时候,报错了,打不开,说是找不到jquery.js文件,然后我改了一下这个路径 :../node_modules/jquery/dist/jquery.js 就可以了
(3)在核心组件app.component.ts中写jq代码看支持不:答案是不可以的,因为jq是.js文件,这是.ts文件;还需要下载转一下:
cnpm install @type/jquery --save-dev
然后在tsconfig.app.json文件夹下,设置一下"types":["jquery"]

好了,这样就可以使用jq写代码了;


7、路由传值(两种方式)
(1)第一种方式
- 在app.module.ts中配置路由信息的时候,定一个参数:id;

- 在app.component.html中用routerLink传值:

- 在messagedetail.component.ts中接收数据;

(2)第二种方式,点击的时候动态的传值
- 在message.component.html中点击事件中传值;

- 在app.module.ts中配置路由信息的时候,定一个参数:title

- 在message.component.ts里的showDetail()方法中接收数据,传给路由;

- 在messagdetail.component.ts中接收数据,就可以在.html中展示数据;

8、如何从服务器获取数据
- 在app.module.ts里配置Http模块

- 在assets文件下新建myData.json文件,设置数据,供下面使用,到实际开发中,这些数据都是后台给的

- 在message.component.ts里获取本地数据;



