반응형
Angular에서 사용권장하는 Material이 분명 공식사이트에서 알려주는 것처럼 아래와같은
$ npm install --save @angular/material @angular/cdk @angular/animations
import {MaterialModule} from '@angular/material';
명령어를 입력하여 Node에 셋팅을 하고 module에 등록을 하였는데도 아래와같이 사용이안되는 경우가 생겼습니다.
무엇이 문제일까 생각하고 검색을 해보니 해결방법은 간단하고 화가나는 내용입니다.
모든 태그를 사용할때마다 모듈에 등록을 해줘야하는것입니다...
분명 다른방법이 무엇인가 있을것같은데 아무리 찾아봐도 제대로 나오는건 없네요
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { RqstDetailComponent } from './rqst-detail/rqst-detail.component';
// Material Form Controls
import { MatAutocompleteModule } from '@angular/material/autocomplete';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatDatepickerModule } from '@angular/material/datepicker';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
import { MatRadioModule } from '@angular/material/radio';
import { MatSelectModule } from '@angular/material/select';
import { MatSliderModule } from '@angular/material/slider';
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
// Material Navigation
import { MatMenuModule } from '@angular/material/menu';
import { MatSidenavModule } from '@angular/material/sidenav';
import { MatToolbarModule } from '@angular/material/toolbar';
// Material Layout
import { MatCardModule } from '@angular/material/card';
import { MatDividerModule } from '@angular/material/divider';
import { MatExpansionModule } from '@angular/material/expansion';
import { MatGridListModule } from '@angular/material/grid-list';
import { MatListModule } from '@angular/material/list';
import { MatStepperModule } from '@angular/material/stepper';
import { MatTabsModule } from '@angular/material/tabs';
import { MatTreeModule } from '@angular/material/tree';
// Material Buttons & Indicators
import { MatButtonModule } from '@angular/material/button';
import { MatButtonToggleModule } from '@angular/material/button-toggle';
import { MatBadgeModule } from '@angular/material/badge';
import { MatChipsModule } from '@angular/material/chips';
import { MatIconModule } from '@angular/material/icon';
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
import { MatProgressBarModule } from '@angular/material/progress-bar';
import { MatRippleModule } from '@angular/material/core';
// Material Popups & Modals
import { MatBottomSheetModule } from '@angular/material/bottom-sheet';
import { MatDialogModule } from '@angular/material/dialog';
import { MatSnackBarModule } from '@angular/material/snack-bar';
import { MatTooltipModule } from '@angular/material/tooltip';
// Material Data tables
import { MatPaginatorModule } from '@angular/material/paginator';
import { MatSortModule } from '@angular/material/sort';
import { MatTableModule } from '@angular/material/table';
@NgModule({
declarations: [
AppComponent,
RqstDetailComponent
],
imports: [
BrowserModule,
AppRoutingModule, MatAutocompleteModule,
MatCheckboxModule,
MatDatepickerModule,
MatFormFieldModule,
MatInputModule,
MatRadioModule,
MatSelectModule,
MatSliderModule,
MatSlideToggleModule,
MatMenuModule,
MatSidenavModule,
MatToolbarModule,
MatCardModule,
MatDividerModule,
MatExpansionModule,
MatGridListModule,
MatListModule,
MatStepperModule,
MatTabsModule,
MatTreeModule,
MatButtonModule,
MatButtonToggleModule,
MatBadgeModule,
MatChipsModule,
MatIconModule,
MatProgressSpinnerModule,
MatProgressBarModule,
MatRippleModule,
MatBottomSheetModule,
MatDialogModule,
MatSnackBarModule,
MatTooltipModule,
MatPaginatorModule,
MatSortModule,
MatTableModule
],
exports: [
MatAutocompleteModule,
MatCheckboxModule,
MatDatepickerModule,
MatFormFieldModule,
MatInputModule,
MatRadioModule,
MatSelectModule,
MatSliderModule,
MatSlideToggleModule,
MatMenuModule,
MatSidenavModule,
MatToolbarModule,
MatCardModule,
MatDividerModule,
MatExpansionModule,
MatGridListModule,
MatListModule,
MatStepperModule,
MatTabsModule,
MatTreeModule,
MatButtonModule,
MatButtonToggleModule,
MatBadgeModule,
MatChipsModule,
MatIconModule,
MatProgressSpinnerModule,
MatProgressBarModule,
MatRippleModule,
MatBottomSheetModule,
MatDialogModule,
MatSnackBarModule,
MatTooltipModule,
MatPaginatorModule,
MatSortModule,
MatTableModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
제 추측으로는 라이브러리로서 가볍게 사용할것만 import받아서 사용하게 하기위해 이렇게 분리한게 아닌가 싶습니다.
반응형
'오류해결' 카테고리의 다른 글
angular cli 보안오류 PSSecurityException (0) | 2021.11.22 |
---|---|
Angular + Spring POST ContentType error 'text/plain;charset=UTF-8 해결 (0) | 2021.10.08 |
Windows 브라우저 새로고침(HTML 변경사항 적용안되는 오류,F5 캐시 무시하기) (7) | 2021.09.08 |
MYSQL 설치 WSL(service오류, Failed to connect to bus 오류 해결) (0) | 2021.09.03 |
WSL Ubuntu에서 MySQL 설치(mysqld: unrecognized service 오류 ,‘/var/run/mysqld’: No such file or directory 오류 해결) (0) | 2021.08.31 |