티스토리 뷰

728x90
반응형

Angular Directive 

- 제일 헷갈리는 녀석들


ViewContainerRef

ViewContainerRef는 하나이상의 뷰를 포함시킬수 있는 컨테이너이다.  
이 컨네이너에는 2종류의 뷰가 포함될 수 있다. 
하나는 ViewContainerRef의 createComponent 메소드를 통해 컴포넌트를 인스턴스화하여 만든 호스트 뷰이고 또 하나는 ViewContainerRef 의 createEmbeddedView 메소드를 통해 ng-template 을 인스턴스화 하여 포함한 임베디드뷰이다. 다시 말해 ViewContainerRef는 새로운 요소(컴포넌트나 ng-template 디렉티브로 래핑된 요소)를 DOM에 삽입하기 위해 필요한 컨테이너(DOM요소) 로서 createComponent, createEmbeddedView 메소드를 통해 새로운 요소를 DOM에 삽입한다.


TemplateRef

-TemplateRef는 ng-template 디렉티브로 래핑된 요소를 가르키는 객체를 생성한다. 다시말해 디렉티브에 주입된 TemplateRef의 인스턴스는 호스트 요소의 ng-template 디렉티브의 참조를 갖는 객체이다.


ng-template


ngTemplateOutlet


ng-container

- 동일한 요소에 하나 이상의 *ngIf 또는 *ngFor와 같은 구조 디렉티브를 사용하기 위한 헬퍼요소로 사용.

ng-container와 ng-template의 차이는 *문법을 사용 유무이

ng-container 는 *문법을 사용할 수 있다.




728x90
반응형
댓글