tips:默認你已經安裝了必備步驟 如angular npm
1、首先在你的電腦上安裝angular
npm install my-app
2、angular 安裝成功之后安裝material
npm install --save @angular/material @angular/cdk @angular/animations
npm install --save @angular/flex-layout
- 在app.module.ts中導入BrowserAnimationsModule
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
@NgModule({
...
imports: [BrowserAnimationsModule],
...
})
export class PizzaPartyAppModule { }
- 在style.css中引入material樣式
@import "~@angular/material/prebuilt-themes/indigo-pink.css";
- 在index.html中引入material圖標庫
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
3、開始angular項目
- 創建類組件 class
ng g c name
- 創建指令directive
ng generate directive <name>
- 創建管道pipe
ng generate pipe <name>
- 創建服務service
ng generate service <name>
- 創建新的module模塊(可以單獨設置一個material.module.ts來導入material的模塊)
ng generate module material 創建了material.module.ts之后,再在app.module.ts中導入 import { MaterialModule } from "./material/material.module"; imports: [ MaterialModule ]
- 在material.module.ts中導入所有的material模塊,以減少導入模塊
import {MatToolbarModule} from '@angular/material/toolbar';
@NgModule({
imports: [
MatToolbarModule
],
exports:[
MatToolbarModule
]
})
4、基礎formgroup表單
- html部分
<form action="" [formGroup]="testForm" #formDirective="ngForm" >
<mat-form-field >
<input matInput placeholder="Input" formControlName="name">
</mat-form-field>
<mat-form-field >
<textarea matInput placeholder="textarea" formControlName="notes"></textarea>
</mat-form-field>
</form>
- component.ts部分
import { FormControl, FormGroup, FormBuilder } from '@angular/forms';
export class FormComponent implements OnInit {
constructor(
private fb: FormBuilder
) { }
testForm:FormGroup;
ngOnInit(): void {
this.testForm=this.fb.group({
name:[''],
notes:['']
})
}
}
- material.module.ts引入部分
import {MatFormFieldModule} from '@angular/material/form-field';
import {MatInputModule} from '@angular/material/input';
@NgModule({
declarations: [],
imports: [
MatFormFieldModule,
MatInputModule
],
exports:[
MatFormFieldModule,
MatInputModule
]
})
export class MaterialModule { }
- app.module.ts引入部分
import { MaterialModule } from "./material/material.module";
import { ReactiveFormsModule } from "@angular/forms";
imports: [
MaterialModule,
ReactiveFormsModule
]
