首先下载node。直接官网上下载最新版的node便可
控制台输入node -v 查看node版本(查看node是否是安装成功) npm install nrm -g 下载nrm nrm ls 查看下载源 nrm use 切换下载源
全局下载npm install-g angular-cli
而后命令行执行ng new angular2-hello 新建一个angular2-hello的项目。
手动生成的须要打开app.component.ts修改title,保存后返回浏览器 再次运行ng serve 便可看到。
第一个组件
如今,咱们能够为咱们的app增长一个component,在命令行创窗口输入ng generate component xxx--inline-template--inline-style (缩写是ng g c xxx)。参数generate是用来生成文件的,参数component是说明咱们要生成一个组件 xxx是咱们组件名称,后面的两个参数是告诉angular-cli:生成组件的HTML模板和css样式和组件放在同一个文件中(其实分开文件更清晰,默认是分开的。不加后面的参数就是分开的)。
import { Component, OnInit } from '@angular/core';
//@Component是Angular提供的装饰器函数, 用来描述Compoent的元数据
//其中selector是指这个组件的在HTML模板中的标签是什么
//template是嵌入(inline)的HTML模板, 若是使用单独文件可用templateUrl
//styles是嵌入(inline)的CSS样式, 若是使用单独文件可用styleUrls
@Component({
selector: 'app-login',
template: '
<p>
login Works!
</p>
',
styles: []
})
export class LoginComponent implements OnInit {
constructor() { }
ngOnInit() {
}
}
组件建成以后,注意上面的代码中@Component修饰配置中的selector:‘app-login’,这意味着我么能够在其余组件的template中使用<app-login></app-login>来引用咱们的组件。
如今咱们打开app.component.html加入咱们的组件引用:
<h1>
{{title}}
</h1>
<app-login></app-login>
保存后ng serve以后浏览器就会看到咱们新加的组件了。
简单来讲,模块就是提供相对独立功能的功能块,每块聚焦于一个特定业务领域。Angular内建的不少库是以模块形式提供的,好比FormsModule封装了表单处理,HttpModule封装了HTTP的处理,等等。
Angular模块是带有@NgModule装饰器函数的类。@NgModule接收一个元数据对象,该对象告诉Angular如何编译和运行模块代码。它指出模块拥有的组件、指令和管道,并把它们的一部分公开出去,以便外部组件使用它们。它能够向应用的依赖注入器中添加服务提供商。(依赖性注入和服务的概念咱们在稍后的章节中讲解,此处暂时略过。)
NgModule是一个装饰器函数,它接收一个用来描述模块属性的元数据对象。其中最重要的属性是:
·declarations:声明本模块中拥有的视图类。Angular有三种视图类:组件、指令和管道。
·exports:declarations的子集,可用于其余模块的组件模板。
·imports:本模块声明的组件模板须要的类所在的其余模块。
·providers:服务的建立者,并加入到全局服务列表中,可用于应用任何部分。
·bootstrap:指定应用的主视图(称为根组件),它是全部其余视图的宿主。只有根模块才能设置bootstrap属性
按照约定,根模块的类名叫作AppModule,放在app.module.ts文件中。
点击事件:
<input #username type="text"> <button (click)="onClick(username.value)">登录</button>
#username 在input里面能够传递input里面输入的值,接收的方式 是username.value
在Component内部的onClick方法也要随之改写成一个接受username的方法
onClick(username){
console.log(username.value)
}
输入用户名的时候 点击登录就能够在控制台看到打印出来输入框的值。