Angular2官网项目 第一天

简介:

来自官网:

    这篇《英雄指南》涵盖`了 Angular 的核心原理。这次构建的应用会涉及很多特性:获得并显示英雄列表,编辑所选英雄的详情,并在英雄数据的多个视图之间建立导航。这些特性,在成熟的、数据驱动的应用中经常见到。

完成本教程后,我们将学习足够的 Angular 核心技术,并确信 Angular 确实能做到我们需要它做的。 我们将涵盖大量入门级知识,同时我们也会看到大量链接,指向更深入的章节。

   一 :为本地开发搭建环境

        a.检查@angular/cli版本.

        在命令行输入 ng -v  -----版本号必须大于1.0.0-beta.24

       b.新建工程
          工程所在目录,命令行ng new 项目名称 --style=scss  带style参数原因:ng-bootstrap要求使用scss(scss--》css的预编译语言 https://www.sass.hk/) 

      c.运行项目

           命令行进入你的项目根目录

             执行  cnpm start

          在浏览器输入http://localhost:4200/

     d.布局会引用Bootstrap布局(引入bootstrap插件)

          只使用它的css和一些图标样式---->只需引入css文件和fonts文件

          1.在src/assets文件下创建bootstrap文件夹

                目录结构:

                -assets

                    -bootstrap

                        -css

                            -bootstrap.min.css

                        -fonts

         2.在.app/app.component.html

        <span class="glyphicon glyphicon-plus"></span>

        3.浏览器页面呈现出图标。引入bootstrap成功。


二:
显示此英雄

    .app/app.compoent.ts

            export class AppComponent {      title = 'Tour of Heroes';      hero = 'Windstorm';}

    ./app/app.component.html

        <h1>`title`</h1><h2>`hero` details!</h2>`

保存后,浏览器应自动刷新,显示标题和英雄。

这里的双大括号是Angular中的插值表达式绑定语法。它们表示组件的titlehero属性的值会作为字符串插入到HTML标签中间。

三:General对象

    创建一bean文件夹(用于存放数据模型)

        ./src/bean/General.ts

                创建General.ts

export class General{


constructor(

public id:number,

public name:String,

public source:String

){}

}

        在.app/app.component.ts

            引入

            import {General}  from "../bean/General";

            general: General= {          id: 1,          name: '赵云'};

        .app/app.component.html

            <h1>`title`</h1><h2>`general`.`name` details!</h2>

四;编辑英雄名字

用户应该能在一个<input>输入框中编辑英雄的名字。 当用户输入时,这个输入框应该能同时显示修改英雄的name属性。

也就是说,我们要在表单元素<input>和组件的hero.name属性之间建立双向绑定。

            双向绑定 

[(ngModel)]是一个Angular语法,用与把hero.name绑定到输入框中。 它的数据流是双向的:从属性到输入框,并且从输入框回到属性。

虽然NgModel是一个有效的Angular指令,但它默认情况下却是不可用的。 它属于一个可选模块FormsModule。 我们必须选择使用那个模块。

        注意:

                .app/app.module.ts                

            引入

            

//双向数据绑定依赖的模块

import { FormsModule }   from '@angular/forms';

  imports: [

    BrowserModule,

    FormsModule

  ]

        .app/app.component.html重构

            <div>          <label>name: </label>          <input [(ngModel)]="general.name" placeholder="name"></div>

五:显示我们的英雄

    创建英雄

       创建data文件夹(用于存放数据)

        ./src/data/mock-general.ts

             创建mock-general.ts  

import {General} from '../bean/General';

export const Generals:General[]=[

new General(11,"孙武",'春秋'),

new General(12,"白起",'秦'),

new General(13,"霍去病",'西汉'),

new General(14,"马援",'东汉'),

new General(15,"谢玄",'两晋'),

new General(16,"张须陀",'隋'),

new General(17,"李靖",'唐'),

new General(18,"薛仁贵",'唐'),

new General(19,"岳飞 ",'宋'),

new General(20,"戚继光",'明'),

];

HEROES是一个由Hero类的实例构成的数组,我们在第一部分定义过它。 我们当然希望从一个 Web 服务中获取这个英雄列表,但别急,我们得把步子迈得小一点,先用一组模拟出来的英雄。

        暴露英雄

        ./app/app.component.ts

    1.导入import {Generals} from "../data/mock-general";

            import { OnInit} from '@angular/core';

        微调AppComponent

            

export class AppComponent implements OnInit {

  title = 'MY General';

 // generals:General[]=Generals;

  generals:General[];

  ngOnInit(){

  this.generals=Generals;

  }

}

在模板中显示英雄

        *ngFor 官网https://angular.cn/guide/displaying-data#ngFor


    重构./app/app.component.html

<div class="container">

<div class="row">

<h1>`title`</h1>

</div>

<div>

<ul >

<li *ngFor="let item of generals"><span>`item`.`id` </span> `item`.`name` `item`.`source`</li>

</ul>

</div>

</div>

当浏览器刷新时,我们就看到了英雄列表



本文转自 沉迷学习中 51CTO博客,原文链接:http://blog.51cto.com/12907581/1965007,如需转载请自行联系原作者

相关文章
|
3月前
threejs+vite+ts实现官网基础部分
threejs+vite+ts实现官网基础部分
24 0
uniapp选择只选择月份demo效果(整理)
uniapp选择只选择月份demo效果(整理)
|
JavaScript 前端开发 安全
猿创征文|【Typescript】搭建TS的编译环境
猿创征文|【Typescript】搭建TS的编译环境
猿创征文|【Typescript】搭建TS的编译环境
|
JavaScript 前端开发 开发工具
Angular最新教程-第一节环境搭建和新建项目
Angular最新教程-第一节环境搭建和新建项目
263 0
Angular最新教程-第一节环境搭建和新建项目
|
JSON 缓存 前端开发
🎉🎉 开源啦!一款基于Vue3 + Vite + TS的简历制作神器~~
目前市面上有不少在线制作简历的网站,不得不说,有些做得很好,提供的简历模板非常的漂亮!但是,相信有很多小伙伴不会去使用它们,毕竟贫穷会限制我们! 当然,有些小伙伴可能会去下载各种各样的简历模板,比如一些word格式的模板,但是这些模板还是存在一个问题,就是样式太难调了,扩展性不高。 因为,我作为众多小伙伴中的一员,就想充分发挥自己程序员的能力,于是便有了这款免费的开源简历制作神器!
251 0
🎉🎉 开源啦!一款基于Vue3 + Vite + TS的简历制作神器~~
|
数据安全/隐私保护
一个节气日历网站的搭建ES
小白esc使用体验和一些成长经验
一个节气日历网站的搭建ES
|
资源调度 JavaScript 测试技术
Angular 2.x折腾记 :(1)初识Angular-cli[官方脚手架]及脱坑要点
这个系列的进度有些跳跃性,我尽量直白点解释,但是我不是官方文档,直入主题!!!!
138 0
|
前端开发 CDN
Angular 2.x折腾记 :(8) 动手写一个不怎么靠谱的上传组件
上传功能在任何一个网站中的地位都是举足轻重的,这篇文章主要扯下如何实现一个上传组件
145 0
Angular 2.x折腾记 :(6) 动手实现只有年月的小组件
这个组件实现并不是很复杂,我会尽量注释; 这货诞生的理由就是项目刚好有一个地方必须只能选择年月, 而github上ng2+日期组件都涉及到年月日或时分秒; 效果用gifcam录制的,色彩有些失真,将就吧。
214 0
|
JavaScript 前端开发 编译器
TypeScript 官网新主页上线
TypeScript 官网新主页上线
TypeScript 官网新主页上线