Angular笔记一

目录
    使用 Angular CLI 创建了初始的应用结构。
    学会了使用 Angular 组件来显示数据。
    使用双花括号插值表达式显示了应用标题
    使用 CLI 创建了第二个组件 HeroesComponent。
    把 HeroesComponent 添加到了壳组件 AppComponent 中,以便显示它。
    使用 UppercasePipe 来格式化英雄的名字。
    用 ngModel 指令实现了双向数据绑定。
    知道了 AppModule。
    把 FormsModule 导入了 AppModule,以便 Angular 能识别并应用 ngModel 指令。
    知道了把组件声明到 AppModule 是很重要的,并认识到 CLI 会自动帮你声明它。
    英雄指南应用在一个主从视图中显示了英雄列表。
    用户可以选择一个英雄,并查看该英雄的详情。
    使用 *ngFor 显示了一个列表。
    使用 *ngIf 来根据条件包含或排除了一段 HTML。
    可以用 class 绑定来切换 CSS 的样式类。

angular
1、安装node.js,npm
2、安装angular cli,使用 Angular CLI 来创建项目、创建应用和库代码,并执行多种开发任务,比如测试、打包和发布
3、使用npm安装 npm install -g @angular/cli
4、创建工作区和初始应用 ng new my-app,ng new 会提示你要把哪些特性包含在初始的应用项目中。请按回车键接受默认值
    Angular CLI 会安装必要的 Angular npm 包及其它依赖
    将创建下列工作区和初始项目文件:
        一个新的工作区,根目录名叫 my-app
        一个初始的骨架应用项目,也叫 my-app(但位于 src 子目录下)
        一个端到端测试项目(位于 e2e 子目录下)
        相关的配置文件
5、启用开发服务器
    cd my-app
    ng serve --open
6、使用 Angular CLI 创建一个名为 heroes 的新组件 ng generate component heroes
        1、CLI 创建了一个新的文件夹 src/app/heroes/,并生成了 HeroesComponent 的三个文件
        import { Component, OnInit } from '@angular/core';
        //要从 Angular 核心库中导入 Component 符号,并为组件类加上 @Component 装饰器
        //@Component 是个装饰器函数,用于为该组件指定 Angular 所需的元数据
        @Component({
         selector: 'app-heroes', // 组件的选择器(css元素选择器)
         //CSS 元素选择器 app-heroes 用来在父组件的模板中匹配 HTML 元素的名称,以识别出该组件。
         templateUrl: './heroes.component.html', //组件模板文件的位置
         styleUrls: ['./heroes.component.css']  //组件私有CSS样式表文件的位置
        })
        export class HeroesComponent implements OnInit {

         constructor() { }
        
        //ngOnInit 是一个生命周期钩子,Angular 在创建完组件后很快就会调用 ngOnInit。这里是放置初始化逻辑的好地方
        //始终要 export 这个组件类,以便在其它地方(比如 AppModule)导入它
         ngOnInit() {
         }

        }
7、使用 UppercasePipe 进行格式化
    <h2>{{hero.name | uppercase}} Details</h2> 将其字母转换为大写
    
8、[(ngModel)] 是 Angular 的双向数据绑定语法,属于一个可选模块FormsModule,你必须自行添加此模块才能使用该指令
     <input [(ngModel)]="hero.name" placeholder="name">
9、导入FormsModule
    Angular需要知道如何把应用程序的各个部分组合到一起,以及该应用需要哪些其它文件和库。这些信息被称为元数据(metadata)。
    有些元数据位于 @Component 装饰器中,你会把它加到组件类上。 另一些关键性的元数据位于 @NgModule 装饰器中。
    最重要的 @NgModule 装饰器位于顶级类 AppModule 上
        打开 AppModule (app.module.ts) 并从 @angular/forms 库中导入 FormsModule 符号
        然后把 FormsModule 添加到 @NgModule 元数据的 imports 数组中
10、创建模拟(mock)的英雄数据
    在 src/app/ 文件夹中创建一个名叫 mock-heroes.ts 的文件。 定义一个包含十个英雄的常量数组 HEROES,并导出它
11、使用 *ngFor 列出这些英雄,*ngFor 是一个 Angular 的复写器(repeater)指令。 它会为列表中的每项数据复写它的宿主元素
        <li *ngFor="let hero of heroes">
        <li> 就是 *ngFor 的宿主元素
        heroes 就是来自 HeroesComponent 类的列表。
        当依次遍历这个列表时,hero 会为每个迭代保存当前的英雄对象。
12、主从结构,添加 click 事件绑定
    再往 <li> 元素上插入一句点击事件的绑定代码:<li *ngFor="let hero of heroes" (click)="onSelect(hero)">
    click 外面的圆括号会让 Angular 监听这个 <li> 元素的 click 事件。 当用户点击 <li> 时,Angular 就会执行表达式 onSelect(hero)
    onSelect() 是 HeroesComponent 上的一个方法,你很快就要写它。 Angular 会把所点击的 <li> 上的 hero 对象传给它,这个 hero 也就是前面在 *ngFor 表达式中定义的那个
13、添加 click 事件处理器
    把该组件的 hero 属性改名为 selectedHero,但不要为它赋值。 因为应用刚刚启动时并没有所选英雄
    添加如下 onSelect() 方法,它会把模板中被点击的英雄赋值给组件的 selectedHero 属性
        selectedHero: Hero;
        onSelect(hero: Hero): void {
        this.selectedHero = hero;}
14、使用 *ngIf 隐藏空白的详情 <div *ngIf="selectedHero">
15、使用css给所选英雄添加样
        Angular 的 CSS 类绑定机制让根据条件添加或移除一个 CSS 类变得很容易。
        只要把 [class.some-css-class]="some-condition" 添加到你要施加样式的元素上就可以了
            [class.selected]="hero === selectedHero"
        如果当前行的英雄和 selectedHero 相同,Angular 就会添加 CSS 类 selected,否则就会移除它
            <li *ngFor="let hero of heroes"
            [class.selected]="hero === selectedHero"
            (click)="onSelect(hero)">
            <span class="badge">{{hero.id}}</span> {{hero.name}}
            </li>
16、待续---
        
            
    
    
    
    
    
原文地址:https://www.cnblogs.com/wapn/p/10547215.html