Angular 英雄之旅-创建项目
应用的外壳
首先,使用 Angular CLI 来创建最初的应用程序。在本教程中,你将修改并扩展这个入门级的应用程序,以创建出《英雄之旅》应用。
在教程的这个部分,你将完成下列工作:
- 设置开发环境。
- 创建新的工作区,并初始化应用项目。
- 启动开发服务器。
- 修改此应用。
搭建开发环境
要想搭建开发环境,请遵循搭建本地环境中的步骤进行操作。
创建新的工作区和一个初始应用
Angular 的工作区就是你开发应用所在的上下文环境。一个工作区包含一个或多个项目所需的文件。每个项目都是一组由应用、库或端到端(e2e)测试组成的文件集合。在本教程中,你将创建一个新的工作区。
要想创建一个新的工作区和一个初始应用项目,需要:
- 确保你现在没有位于 Angular 工作区的文件夹中。比如,如果你之前已经创建过 "快速上手" 工作区,请回到其父目录中。
- 运行 CLI 命令
ng new
,空间名请使用 angular-tour-of-heroes
,如下所示: -
ng new
命令会提示你输入要在初始应用项目中包含哪些特性,请按 Enter 或 Return 键接受其默认值。
ng new angular-tour-of-heroes
Angular CLI 会安装必要的 Angular npm
包和其它依赖项。这可能需要几分钟。
它还会创建下列工作区和初始项目的文件:
- 新的工作区,其根目录名叫
angular-tour-of-heroes
。 - 一个最初的骨架应用项目,位于
src/app
子目录下。 - 相关的配置文件。
初始应用项目是一个简单的 "欢迎" 应用,随时可以运行它。
启动应用服务器
进入工作区目录,并启动这个应用。
cd angular-tour-of-heroes
ng serve --open
ng serve
命令会构建本应用、启动开发服务器、监听源文件,并且当那些文件发生变化时重新构建本应用。
--open
标志会打开浏览器,并访问 http://localhost:4200/
。
你会发现本应用正运行在浏览器中。
Angular 组件
你所看到的这个页面就是应用的外壳。这个外壳是被一个名叫 AppComponent
的 Angular 组件控制的。
组件是 Angular 应用中的基本构造块。它们在屏幕上显示数据,监听用户输入,并且根据这些输入执行相应的动作。
修改应用标题
用你最喜欢的编辑器或 IDE 打开这个项目,并访问 src/app
目录,来对这个起始应用做一些修改。
你会在这里看到 AppComponent
壳的三个实现文件:
文件 |
详情 |
---|---|
app.component.ts
|
组件的类代码,这是用 TypeScript 写的。 |
app.component.html
|
组件的模板,这是用 HTML 写的。 |
app.component.css
|
组件的私有 CSS 样式。 |
更改应用标题
打开组件的类文件 (app.component.ts
),并把 title
属性的值修改为 'Tour of Heroes'(英雄之旅)。
title = 'Tour of Heroes';
打开组件的模板文件 app.component.html
并清空 Angular CLI 自动生成的默认模板。改为下列 HTML 内容。
<h1>{{title}}</h1>
双花括号语法是 Angular 的插值绑定语法。这个插值绑定的意思是把组件的 title
属性的值绑定到 HTML 中的 h1
标记中。
浏览器自动刷新,并且显示出了新的应用标题。
添加应用样式
大多数应用都会努力让整个应用保持一致的外观。因此,CLI 会生成一个空白的 styles.css
文件。你可以把全应用级别的样式放进去。
打开 src/styles.css
并把下列代码添加到此文件中。
/* Application-wide Styles */
h1 {
color: #369;
font-family: Arial, Helvetica, sans-serif;
font-size: 250%;
}
h2, h3 {
color: #444;
font-family: Arial, Helvetica, sans-serif;
font-weight: lighter;
}
body {
margin: 2em;
}
body, input[type="text"], button {
color: #333;
font-family: Cambria, Georgia, serif;
}
button {
background-color: #eee;
border: none;
border-radius: 4px;
cursor: pointer;
color: black;
font-size: 1.2rem;
padding: 1rem;
margin-right: 1rem;
margin-bottom: 1rem;
margin-top: 1rem;
}
button:hover {
background-color: black;
color: white;
}
button:disabled {
background-color: #eee;
color: #aaa;
cursor: auto;
}
/* everywhere else */
* {
font-family: Arial, Helvetica, sans-serif;
}
查看最终代码
下面是本页所提到的源代码。
- src/app/app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'Tour of Heroes';
}
<h1>{{title}}</h1>
/* Application-wide Styles */
h1 {
color: #369;
font-family: Arial, Helvetica, sans-serif;
font-size: 250%;
}
h2, h3 {
color: #444;
font-family: Arial, Helvetica, sans-serif;
font-weight: lighter;
}
body {
margin: 2em;
}
body, input[type="text"], button {
color: #333;
font-family: Cambria, Georgia, serif;
}
button {
background-color: #eee;
border: none;
border-radius: 4px;
cursor: pointer;
color: black;
font-size: 1.2rem;
padding: 1rem;
margin-right: 1rem;
margin-bottom: 1rem;
margin-top: 1rem;
}
button:hover {
background-color: black;
color: white;
}
button:disabled {
background-color: #eee;
color: #aaa;
cursor: auto;
}
/* everywhere else */
* {
font-family: Arial, Helvetica, sans-serif;
}
小结
- 你使用 Angular CLI 创建了初始的应用结构
- 你学会了使用 Angular 组件来显示数据
- 你使用双花括号插值显示了应用标题