구성 요소의 장식은 당신이 각도 구성 요소로 클래스를 표시하고 구성 요소가 처리 인스턴스화 및 런타임시 사용할 방법을 결정하는 추가 메타 데이터를 제공 할 수 있다는 것을 알고있다.
그러나 나는 더 깊게하고 구성 요소 장식 정말 추가 메타 데이터를 제공 제외하고 무엇을 이해하고 싶습니다.
나는 소스 코드로 나뉘어서 모든 데코레이터가 makeDecorator 함수의 도움으로 만들어 짐을 발견했다. 그리고 여기 나는 길을 잃었다. Component와 ngModule 데코레이터의 차이점은 무엇입니까? 그들은 똑같은 일을하고 있습니까? 그렇게 생각하지 마십시오.
답변처럼 makeDecorator 기능을 사용하지 않고 Component Decorator를 다시 작성하기 위해 수행해야 할 작업을 단계별로 설명하는 것이 좋을 것입니다.
UPD : 그리고 예, 물론 TypeScript Decorator의 작동 방식을 알고 있습니다.
를 참조하십시오 : 1.2 @ 내'@ 각도/cli'에서.1 프로젝트'defineMetadata'와'getMetadata' 함수를 컴파일러가 알 수 있도록 main.ts 파일 상단에'reflect-metadata'를 가져와야했습니다. 내 데코레이터 소스 파일에서 가져 오기를 수행하면 컴파일러에서'@ NgModule' 데코레이터가 누락되었다는 불만을 토로합니다. – TekTimmy