반응형
1. routing, modue, component 생성
ng g module board --routing
ng g component board
ng g component board/board-list
ng g component board/board-edit
ng g component board/board-detail
- 글 목록, 상세보기, 등록&수정 화면 생성
- board.module.ts
@NgModule({
declarations: [
BoardComponent,
BoardListComponent,
BoardDetailComponent,
BoardEditComponent
],
imports: [
CommonModule,
BoardRoutingModule
]
})
export class BoardModule { }
- board.component.ts
@Component({
selector: 'app-board',
template: '<router-outlet></router-outlet>'
})
- board-routing.module.ts
const BoardRoutes: Routes = [
{
path: '',
component: BoardComponent,
children: [
{path: 'list', component: BoardListComponent},
{path: 'detail', component: BoardDetailComponent},
{path: 'edit', component: BoardEditComponent},
{path: '', redirectTo: 'list', pathMatch: 'full'}
]
}
];
@NgModule({
imports: [RouterModule.forChild(BoardRoutes)],
exports: [RouterModule]
})
export class BoardRoutingModule { }
- main-routing.module.ts
const MainRoutes: Routes = [
{
path: '',
component: MainComponent,
children: [
{path: 'dashboard', loadChildren: () => import('../dashboard/dashboard.module').then((m) => m.DashboardModule), },
{path: 'board', loadChildren: () => import('../board/board.module').then((m) => m.BoardModule), },
{path: '', redirectTo: 'dashboard', pathMatch: 'full'}
]
}
];
@NgModule({
imports: [RouterModule.forChild(MainRoutes)],
exports: [RouterModule]
})
export class MainRoutingModule {
}
- path board 추가
- left-menu.component.html
<a class="nav-link" routerLink="board">
<div class="sb-nav-link-icon"><i class="fa-solid fa-pen-to-square"></i></div>
게시판
</a>
- 게시판 메뉴 추가
- Dashboard, 게시판 외의 메뉴 제거
- 현재까지의 결과 화면 - 게시판 클릭

2. 게시판 리스트 화면 구성
Angular Material
UI component infrastructure and Material Design components for Angular web applications.
material.angular.io
- material 설치
ng add @angular/material

- Packages installation failed 한 번 뜨더니 재 설치 시도하니까 잘 설치가 됐습니다.
https://material.angular.io/components/table/examples
Angular Material
UI component infrastructure and Material Design components for Angular web applications.
material.angular.io
- 위 URL에 있는 table 샘플 코드 복사해줬습니다.
- material 사용해주려면 Module을 import 해줘야 합니다.
- board.module.ts
import { MatTableModule } from '@angular/material/table';
@NgModule({
declarations: [
BoardComponent,
BoardListComponent,
BoardDetailComponent,
BoardEditComponent
],
imports: [
CommonModule,
BoardRoutingModule,
MatTableModule ////추가
]
})
export class BoardModule { }
- 결과 화면

반응형
'Angular' 카테고리의 다른 글
Angular Property 'paginator' has no initializer and is not definitely assigned in the constructor.ts(2564) (0) | 2022.12.07 |
---|---|
Angular Shared Module 생성으로 Module 공유하기(공통 Module) (0) | 2022.12.05 |
Angular 3. Routing 구성하기(lazy-loading: 지연 로딩) (0) | 2022.11.29 |
Angular 2. bootstrap 템플릿 적용 (0) | 2022.11.29 |
Angular 1. 홈페이지 만들기 전 준비 및 개발 참고 사이트 (0) | 2022.11.23 |