본문 바로가기

Angular

Angular 4-1. 게시판 만들기 (화면 생성)

반응형

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. 게시판 리스트 화면 구성

 

https://material.angular.io/

 

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 { }

 

  • 결과 화면

 

 

반응형