각도 재료 시작
이 강좌의 전체 코드는 GitHub에 있습니다.모든 제출은 본문의 한 단계와 일치한다.
Angular
https://github.com/melissahoughton/angular-material-blog
설치
애플리케이션 생성
새 각도 응용 프로그램을 생성하고 각도 재료를 추가합니다.
Angular CLI를 사용하여 새 Angular 애플리케이션 생성
명령줄에서 실행
ng new my-app
하고 my-app
을 응용 프로그램의 이름으로 바꿉니다.경로설정
Y
을 선택합니다.스타일로
SCSS
를 선택합니다.각도 재료 추가
다음 명령 실행
cd my-app
ng add @angular/material
제공된 사전 구축 테마를 선택하십시오.글로벌 버전 (글꼴 스타일) 으로
Y
을 선택합니다.애니메이션의 경우
Y
을 선택합니다.add
명령은 @angular/cdk
및 @angular/material
라이브러리를 설치하고 재료 글꼴, 아이콘 및 기본 스타일을 설정합니다.기본값 삭제
현재 컨텐트는 첫 번째 단계에서 Angular에서 자동으로 생성되지만 자체 컨텐트를 만들고자 합니다.
app.component.html
에서 <router-outlet></router-outlet>
을 제외한 모든 내용을 삭제합니다.재료 모듈 생성하기
응용 프로그램에서 재료 구성 요소를 사용하려면 가져와야 합니다.개별 구성 요소를 가져오기 위한 별도의
material.module.ts
를 만듭니다. 다음 단계에서는 재료 모듈을 응용 프로그램으로 가져옵니다.재료 어셈블리 파일을 직접 가져오는 것은 권장되지 않지만
app.module.ts
응용 프로그램에서 사용할 수 있도록 뿔 재료의 모든 구성 요소를 가져옵니다.나중에 이 파일을 단순화하여 원하는 어셈블리만 가져올 수 있습니다.material
에 src\app
라는 폴더를 만듭니다.import { NgModule } from '@angular/core';
import { A11yModule } from '@angular/cdk/a11y';
import { ClipboardModule } from '@angular/cdk/clipboard';
import { DragDropModule } from '@angular/cdk/drag-drop';
import { PortalModule } from '@angular/cdk/portal';
import { ScrollingModule } from '@angular/cdk/scrolling';
import { CdkStepperModule } from '@angular/cdk/stepper';
import { CdkTableModule } from '@angular/cdk/table';
import { CdkTreeModule } from '@angular/cdk/tree';
import { MatAutocompleteModule } from '@angular/material/autocomplete';
import { MatBadgeModule } from '@angular/material/badge';
import { MatBottomSheetModule } from '@angular/material/bottom-sheet';
import { MatButtonModule } from '@angular/material/button';
import { MatButtonToggleModule } from '@angular/material/button-toggle';
import { MatCardModule } from '@angular/material/card';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatChipsModule } from '@angular/material/chips';
import { MatStepperModule } from '@angular/material/stepper';
import { MatDatepickerModule } from '@angular/material/datepicker';
import { MatDialogModule } from '@angular/material/dialog';
import { MatDividerModule } from '@angular/material/divider';
import { MatExpansionModule } from '@angular/material/expansion';
import { MatGridListModule } from '@angular/material/grid-list';
import { MatIconModule } from '@angular/material/icon';
import { MatInputModule } from '@angular/material/input';
import { MatListModule } from '@angular/material/list';
import { MatMenuModule } from '@angular/material/menu';
import { MatNativeDateModule, MatRippleModule } from '@angular/material/core';
import { MatPaginatorModule } from '@angular/material/paginator';
import { MatProgressBarModule } from '@angular/material/progress-bar';
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
import { MatRadioModule } from '@angular/material/radio';
import { MatSelectModule } from '@angular/material/select';
import { MatSidenavModule } from '@angular/material/sidenav';
import { MatSliderModule } from '@angular/material/slider';
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
import { MatSnackBarModule } from '@angular/material/snack-bar';
import { MatSortModule } from '@angular/material/sort';
import { MatTableModule } from '@angular/material/table';
import { MatTabsModule } from '@angular/material/tabs';
import { MatToolbarModule } from '@angular/material/toolbar';
import { MatTooltipModule } from '@angular/material/tooltip';
import { MatTreeModule } from '@angular/material/tree';
@NgModule({
exports: [
A11yModule,
ClipboardModule,
CdkStepperModule,
CdkTableModule,
CdkTreeModule,
DragDropModule,
MatAutocompleteModule,
MatBadgeModule,
MatBottomSheetModule,
MatButtonModule,
MatButtonToggleModule,
MatCardModule,
MatCheckboxModule,
MatChipsModule,
MatStepperModule,
MatDatepickerModule,
MatDialogModule,
MatDividerModule,
MatExpansionModule,
MatGridListModule,
MatIconModule,
MatInputModule,
MatListModule,
MatMenuModule,
MatNativeDateModule,
MatPaginatorModule,
MatProgressBarModule,
MatProgressSpinnerModule,
MatRadioModule,
MatRippleModule,
MatSelectModule,
MatSidenavModule,
MatSliderModule,
MatSlideToggleModule,
MatSnackBarModule,
MatSortModule,
MatTableModule,
MatTabsModule,
MatToolbarModule,
MatTooltipModule,
MatTreeModule,
PortalModule,
ScrollingModule,
]
})
export class MaterialModule { }
이 파일은 사용 가능한 모든 재료 구성 요소를 가져오고 내보내기로 추가합니다 material.module.ts
. 이 파일은 이 구성 요소를 응용 프로그램에 공개합니다.github 재료 모듈 가져오기
MaterialModule
에서 마지막으로 생성된 재료 모듈의 가져오기 문구입니다.app.module.ts
의imports 그룹에 MaterialModule
을(를) 추가하여 응용 프로그램에 가져옵니다.import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { MaterialModule } from './material/material.module';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule,
BrowserAnimationsModule,
MaterialModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
이제 응용 프로그램에서 각도 재료를 사용할 수 있습니다.다음 단계를 계속하여 응용 프로그램에 내용을 추가합니다. 이 응용 프로그램은 재료 구성 요소를 보여 줍니다.컨텐트 추가
어셈블리 생성
Angular CLI를 사용하여 구성 요소 생성
실행
AppModule
노선 설정
ng generate component home
의 빈 라우트를 다음으로 교체const routes: Routes = [
{ path: '', component: HomeComponent },
{ path: '**', redirectTo: '/', pathMatch: 'full' }
];
app.routing.module.ts
라는 구성 요소를 만들고 기본 페이지로 설정합니다.응용 프로그램 컴파일 및 텍스트 보기
Home
실행기본 스타일 추가
페이지에 간격을 만들기 위해 기본 스타일을 추가합니다.
우리는 사용할 것이다 .
Angular는 CSS FlexBox와 mediaQuery를 결합한 강력한 Flex 레이아웃 APICSS FlexBox도 제공합니다.
ng serve
에서 클래스home works!
를 바디 표시에 추가합니다.index.html
mat-app-background
표시를 <router-outlet></router-outlet>
에 포장다음 스타일 추가
div
.container {
max-width: 800px;
margin: 4em auto;
padding: 0 20px;
}
.container > * {
display: flex;
flex-direction: column;
justify-content: center;
}
다음 스타일 추가
container
.flex-container {
display: flex;
justify-content: space-around;
flex-wrap: wrap;
padding: 16px;
}
button {
margin: 8px;
}
.mat-radio-button~.mat-radio-button {
margin-left: 16px;
}
@ 각도 / 커브 레이아웃 제목 도구 모음 만들기
app.component.scss
에서 용기div 위에 도구막대를 응용 프로그램 제목으로 추가합니다<mat-toolbar class="mat-elevation-z6" color="primary"></mat-toolbar>
home.component.scss
를 실행하고 브라우저를 열어 응용 프로그램의 맨 위에 있는 제목을 봅니다.이제 첫 번째 각 재료 어셈블리가 추가되었습니다.이 구성 요소들은 주제에 따라 설계된 것이다.
우리는
app.component.html
속성을 사용하여 항목을 테마의 원색으로 설정합니다.재료
ng-serve
클래스에 그림자를 추가하여 텍스쳐 재료 모양새를 생성합니다.각도 재료 어셈블리 추가
color
의 내용을 재료 성분을 포함하는 샘플을 다음 코드로 교체합니다.브라우저를 새로 고쳐 각도 재료 어셈블리의 역할을 확인합니다.<h1 class="mat-display-1">Easy, Breezy, Beautiful: Angular Material</h1>
<p>Here are some random angular material components</p>
<mat-card>
<mat-card-header>
<img mat-card-avatar src="https://cdn.pixabay.com/photo/2018/10/11/12/31/black-cat-3739702_1280.jpg"
alt="My Photos">
<mat-card-title>Easy, Breezy, Beautiful</mat-card-title>
<mat-card-subtitle>Angular Material</mat-card-subtitle>
</mat-card-header>
<mat-card-content>
<p>
This is an amazing blog on Angular Material. Here is some awesome text about Angular Material.
Here is some awesome text about Angular Material. Here is some awesome text about Angular Material.
Here is some awesome text about Angular Material. Here is some awesome text about Angular Material.
Here is some awesome text about Angular Material. Here is some awesome text about Angular Material.
</p>
</mat-card-content>
<mat-card-actions align="end">
<button mat-raised-button color="primary">Read More</button>
</mat-card-actions>
</mat-card>
<div class="flex-container">
<div>
<button mat-raised-button color="primary">Raised Primary</button>
<button mat-raised-button color="accent">Raised Accent</button>
<button mat-stroked-button>Basic Stroked</button>
<button mat-stroked-button color="primary">Stroked Primary</button>
</div>
<button mat-fab>
<mat-icon>thumb_up</mat-icon>
</button>
<mat-radio-group aria-label="Select an option">
<mat-radio-button value="1">Option 1</mat-radio-button>
<mat-radio-button value="2">Option 2</mat-radio-button>
</mat-radio-group>
<mat-checkbox>Check me!</mat-checkbox>
<mat-form-field>
<mat-label>Choose a date</mat-label>
<input matInput [matDatepicker]="picker">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</mat-form-field>
<mat-slider></mat-slider>
<button mat-flat-button color="primary" matTooltip="Info about the action" matTooltipPosition="after"
aria-label="Button that displays a tooltip when focused or hovered over">
Tooltip
</button>
</div>
<mat-paginator [length]="100" [pageSize]="10" [pageSizeOptions]="[5, 10, 25, 100]"></mat-paginator>
축하이제 각도 재료를 사용하는 각도 프로그램이 생겼어요.전체 어셈블리의 각도 재료 와 이를 사용하는 방법을 확인합니다.
Reference
이 문제에 관하여(각도 재료 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/melissahoughton/getting-started-with-angular-material-3ef2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)