ANGULAR7的应用和跨域问题解决


快速上手

欢迎使用 Angular!Angular 可以帮助你为 Web、移动端或桌面构建现代应用程序。

本指南会介绍如何构建并运行一个简单的 Angular 应用。 你将使用 Angular CLI 工具来加速开发,并遵守风格指南中的建议,这些建议将使每一个 Angular 应用受益。

先决条件

在开始之前,请确保你的开发环境已经包含了 Node.js? 和 npm 包管理器。

Node.js

Angular 需要 Node.js 的 8.x 或 10.x 版本。

  • 要想检查你的版本,请在终端/控制台窗口中运行 node -v 命令。

  • 要想安装 Node.js,请访问 nodejs.org。

npm 包管理器

Angular、Angular CLI 和 Angular 应用都依赖于某些库所提供的特性和功能,它们都是 npm 包。要下载和安装 npm 包,你必须拥有一个 npm 包管理器。

本 "快速上手" 中使用的是 npm 客户端命令行界面,在安装 Node.js 时就已经默认安装了它。

要想检查你是否已经安装了 npm 客户端,请在终端/控制台窗口中运行 npm -v 命令。

第一步:安装 Angular CLI

你要使用 Angular CLI 来创建项目、创建应用和库代码,并执行多种开发任务,比如测试、打包和发布。

全局安装 Angular CLI。

要想使用 npm 来安装 CLI,请打开终端/控制台窗口,并输入下列命令:

npm install -g @angular/cli

第二步:创建工作区和初始应用

Angular 工作区就是你开发应用的上下文环境。 每个工作区包含一些供一个或多个项目使用的文件。 每个项目都是一组由应用、库或端到端(e2e)测试构成的文件。

要想创建工作区和初始应用项目:

  1. 运行 CLI 命令 ng new,并提供一个名字 my-app,如下所示:

    ng new my-app
  2. ng new 会提示你要把哪些特性包含在初始的应用项目中。请按回车键接受默认值。

Angular CLI 会安装必要的 Angular npm 包及其它依赖。这可能要花几分钟。

还将创建下列工作区和初始项目文件:

  • 一个新的工作区,根目录名叫 my-app

  • 一个初始的骨架应用项目,也叫 my-app(但位于 src 子目录下)

  • 一个端到端测试项目(位于 e2e 子目录下)

  • 相关的配置文件

初始的应用项目是一个简单的 "欢迎" 应用,随时可以运行它。

第三步:启动开发服务器

Angular 包含一个开发服务器,以便你能轻易地在本地构建应用和启动开发服务器。

  1. 进入工作区目录(my-app)。

  2. 使用 CLI 命令 ng serve 启动开发服务器,并带上 --open 选项。

cd my-app
ng serve --open

ng serve 命令会自动开发服务器,并监视你的文件变化,当你修改这些文件时,它就会重新构建应用。

--open(或只用 -o)选项会自动打开浏览器,并访问 http://localhost:4200/

看,你的应用正在使用一条消息欢迎你:

Welcome to my-app!组件 是 Angular 应用中的基本构造块。 它们在屏幕上显示数据、监听用户输入,并根据这些输入采取行动。

作为初始应用的一部分,CLI 也会为你创建第一个 Angular 组件。它就是根组件,名叫 app-root

  1. 打开 ./src/app/app.component.ts

  2. 把 title 属性从 'my-app' 修改成 'My First Angular App'

    src/app/app.component.ts
    @Component({
      selector: 'app-root',
      templateUrl: './app.component.html',
      styleUrls: ['./app.component.css']
    })
    export class AppComponent {
      title = 'My First Angular App!';
    }

    浏览器将会用修改过的标题自动刷新。很不错,但还可以更好看。

  3. 打开 ./src/app/app.component.css 并给这个组件提供一些样式。

    src/app/app.component.css
    1 {
      color: #369;
      font-family: Arial, Helvetica, sans-serif;
      font-size: 250%;
    }

漂亮多了!

Output of Getting Started appComponent 符号,并为组件类加上 @Component 装饰器。

@Component 是个装饰器函数,用于为该组件指定 Angular 所需的元数据。

CLI 自动生成了三个元数据属性:

  1. selector— 组件的选择器(CSS 元素选择器)

  2. templateUrl— 组件模板文件的位置。

  3. styleUrls— 组件私有 CSS 样式表文件的位置。

CSS 元素选择器 app-user 用来在父组件的模板中匹配 HTML 元素的名称,以识别出该组件。

ngOnInit 是一个生命周期钩子,Angular 在创建完组件后很快就会调用 ngOnInit。这里是放置初始化逻辑的好地方。

始终要 export 这个组件类,以便在其它地方(比如 AppModule)导入它。

[(ngModel)] 是 Angular 的双向数据绑定语法。

[(ngModel)]="user.name" placeholder="name">

*ngFor 是一个 Angular 的复写器(repeater)指令。 它会为列表中的每项数据复写它的宿主元素。

  *ngFor="let user of heroes" (click)="onSelect(user)">

 

*ngIf="selectedHero">

 不要忘了 ngIf 前面的星号(*),它是该语法中的关键部分。

 

使用 Angular CLI 创建一个名叫 user的服务。   ng generate service user   src/app/hero.service.ts (new service)
import { Injectable } from '@angular/core';

@Injectable({
  providedIn: 'root',
})export class HeroService {

  constructor() { }

}