angular2我爱编程

快速上手Angular4

2017-06-27  本文已影响99人  闫小兀

关键点

希望通过上面的描述,可以快速搭建项目,写点东西,了解整体流程(重要)

一.Angular介绍

二.Angular核心特性

core-concept.png

1.组件化(Component最核心的概念)


tree.png
import { Component } from '@angular/core';
@Component({
  selector : 'login',
  template : `<h1>我是登录页面</h1>`
})
export class LoginComponent {}

2.模块化(NgModule)

module.png

3.路由(Router)

export const ROUTES: Routes = [
{ path: 'home',
component: HomeComponent,
children:[
{path:'login',component:LoginComponent},
{path:'register',component:RegisterComponent},
]
},
{ path: 'user', component: UserComponent }
];


# 三.Angular-CLI快速搭建项目
* 概念
 + Angular CLI是一个命令行界面工具,可以创建项目,添加文件,并执行各种正在进行的开发任务,如测试,捆绑和部署。
* 操作步骤
 + npm install -g @angular/cli
 + ng -v
 + ng new my-app
 + ng serve --open (使用--open会自动打开浏览器)
* 项目结构

![structure.png](http:https://img.haomeiwen.com/i1897003/f2e32a390c8f4978.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)




# 四.Angular基础知识点
* 1.绑定属性值 {{}}
  + 在 Angular 中,我们可以使用 {{}} 插值语法实现数据绑定。

import { Component } from '@angular/core';
@Component({
selector: 'my-app',
template: <h2>我是{{name}}</h2> <p>我来自<strong>{{address.province}}</strong>省, <strong>{{address.city}}</strong>市 </p>,
})
export class AppComponent {
name = 'Semlinker';
address = {
province: '安徽',
city: '合肥'
}
}


 * 2.自定义组件
   + 在 Angular 中,可以通过 Component 装饰器和自定义组件类来创建自定义组件。

@Component({
selector : 'register',
template : <h1>我是注册页面</h1>
})
export class RegisterComponent {
}


 * 3.常用指令简介(最常用的指令是ngIf,ngFor)
   + ngIf指令 : 动态控制模板内容的显示与隐藏。
   + ngFor 指令 : 该指令用于基于可迭代对象中的每一项创建相应的模板
 * 4.事件绑定
   + 在 Angular 中,我们可以通过 (eventName) 的语法,实现事件绑定。
 * 5.Http模块
   + 使用Http服务进行数据请求
   + 使用Http服务步骤
     + (1) 从 @angular/http 模块中导入 Http 类
     + (2) 导入 RxJS 中的 map 操作符
     + (3) 使用 DI 方式注入 http 服务
     + (4) 调用 http 服务的 get() 方法,设置请求地址并发送 HTTP 请求
     + (5) 调用 Response 对象的 json() 方法,把响应体转成 JSON 对象
     + (6) 把请求的结果,赋值给对应的属性
    
   
     ```
     //3.4.5点的整体代码
     import { Component } from '@angular/core';
        //强调 : 使用http模块必须引入
        import { Http } from '@angular/http';
        import 'rxjs/add/operator/map';
        //自定义组件
        @Component({
          selector : 'user',
          template : `<h2>我的名字是:{{name}},喜欢{{message.hobby}}</h2>
                      <button (click)="toggleSkills()">技能显示/隐藏</button>
                      <ul *ngIf='showSkills'><li *ngFor="let skill of skills">{{skill.content}}</li></ul>`
        })
        export class UserComponent {
          name = '';
          message : {};
          showSkills : Boolean;
          skills : any;
          //事件
          toggleSkills() {
            this.showSkills = !this.showSkills;
          };
          //使用构造函数初始化数据
          constructor(http : Http) {
            this.name = '闫理智';
            this.message = {
              sex : '男',
              hobby : '篮球'
            };
            this.showSkills = true;
            //this.skills = ['吃饭','睡觉','打豆豆'];
            http.get(`https://bird.ioliu.cn/joke/rand?type=text`)
                .map(res => res.json())
                .subscribe(data => {
                  if(data) console.log(data)
                  this.skills = data.data;
                })
          }
        }
     ```

 [Angualr基本课件代码都在这儿,点我](https://github.com/Godlovesmile/CodeTransferStation)
上一篇下一篇

猜你喜欢

热点阅读