Alain Chautard
Apr 25, 2019 · 4 min read

ng-content is the directive used to achieve transclusion a.k.각으로 전환하기 전에 각도 조이를 배웠다면 트랜스 클루전이라는 용어에 익숙 할 수 있습니다. 다른 한편으로는,당신은 트랜스 클루전이 무엇인지 아무 생각이없는 경우,각도에 그것의 새로운 이름은 내용 투영,그리고 우리가이 게시물에서 다루려고하는거야 무엇.콘텐츠 투영은 돔 트리의 일부를 부모 구성 요소에서 자식 구성 요소로 전달하는 것으로 구성됩니다.대화 상자,조동사,탭 등과 같은 재사용 가능한 구성 요소를 구축하는 것이 완벽합니다.다음은 사용자 정의 가능한 콘텐츠가 있는 팝업 창을 만들려는 예제이며,다음과 같이 해당 콘텐츠를 팝업에”전달”하고 싶습니다. 이제 기본적으로 위의 코드는 콘텐츠를 투영하지 않습니다. 콘텐츠 투영이 일어날 수 있도록하기 위해,우리는 자식 구성 요소의 템플릿에 어딘가에 잉-콘텐츠 지시어를 추가 할 필요가:: 동적 콘텐츠가 로드될 위치를 나타내는 지시문입니다.이 경우,”콘텐츠 투영”은”부모 구성 요소”에서 생성 된”잘라 내기 및 붙여 넣기”를 자식 구성 요소의 템플릿에 붙여 넣기 할 것입니다.위의 코드가 있으면 팝업이 다음과 같이 렌더링됩니다:2018 년 10 월 15 일(토)~2018 년 10 월 15 일(일)~2018 년 10 월 15 일(일)~2018 년 10 월 15 일(일)~2018 년 10 월 15 일(일)~2018 년 10 월 15 일(일)~2018 년 10 월 15 일(일)~2018 년 10 월 15 일(일)~2018 년 10 월 15 일(일)~2018 년 10 월 15 일(일)~2018 년 10 월 15 일(일)~2018 년 10 월 15 일(일)~2018 년 10 월 15 일(일)~2018 년 이 스택 블리 츠의 예제에 대한 전체 코드는 다음과 같습니다.물론,그것은 할 수 있습니다! 원하는 경우 데이터 바인딩,지시문 또는 기타 구성 요소를 사용할 수 있습니다.

여기에는 예입니다:

<app-popup-window ="showPopup" title="Test pop-up">
This is the content of the pop-up.
{{customText}} <br>
I can even pass a child component: <br>
<app-hello></app-hello>
</app-popup-window>

고 이 모든 작품을 완벽하게 괜찮:2018 년 12 월 1 일,2018 년 12 월 1 일,2018 년 12 월 1 일,2018 년 12 월 1 일,2018 년 12 월 1 일,2018 년 12 월 1 일,2018 년 12 월 1 일,2018 년 12 월 1 일,2018 년 12 월 1 일,2018 년 12 월 1 일,2018 년 12 월 1 일,2018 년 12 월 1 일,2018 년 12 월 1 일,2018 년 12 월 1 일,2018 년 12 월 1 일,2018 년 이 두 번째 예제에 대한 전체 코드는이 스택 블리 츠에서 찾을 수 있습니다.나는 당신이 물었다 기뻐요. 이를 멀티 슬롯 콘텐츠 프로젝션이라고합니다.의 우리는 우리가 사용자 정의 몸뿐만 아니라 사용자 정의 바닥 글을 전달할 수 있도록 우리의 팝업 창을 변경하려는 가정하자.

우리는 우리가 사용하는 두 가지 ng-콘텐츠를 지침에서는 구성 요소,그리고 키가 그 두 개의 슬롯 특정 부분의 계획을 사용하여 컨텐츠의 구문은 다음과 같습니다.

<div class="modalW-body">
<ng-content select="body"></ng-content>
</div><div class="modalW-footer">
<ng-content select="footer"></ng-content>
</div>

지금 전달하기 위해서는 콘텐츠를 이러한 특정한 슬롯,내가 할 일이 태그를 사용하여 선택 기준과 일치하는 서비스가 제공됩:

<app-popup-window ="showPopup" title="Test pop-up">
<body>
This is the body of the pop-up.
</body>
<footer>
<button (click)="showPopup = false">Close</button>
</footer>
</app-popup-window>

참고하는 내가 사용하는 몸과 footer 기 때문에 그들은 실제 HTML 의미가 있는 요소에서는다. 그러나,당신은 당신이 좋아하는 클래스,속성 이름,또는 아무것도에 의해 요소를 선택할 수 있습니다. 내가 여기했던 것처럼 정확하게 할 필요가 없습니다.

당신이 볼 수있는,잘 작동:

가 적용된 다른 색 바닥글 그래서 우리가 볼 수 있는 콘텐츠가 transcluded 에서 오른쪽 슬롯

전체 코드를 이 예제에서 찾을 수 있습이 Stackblitz:

내 이름은 알랭 Chautard. 나는 앵귤러에서 구글 개발자 전문가입니다,뿐만 아니라 내가 개발 팀이 배우고 각도에 능숙 될 수 있도록 각도 훈련에서 컨설턴트 및 트레이너를 설립 등.각도에 도움이 필요하십니까? 의 이야기 할 시간을 예약 할 수 있습니다.이 게시물을 즐길 경우,그것을 위해 박수 또는 공유하시기 바랍니다. 당신의 도움은 항상 감사합니다.2018 년 10 월 18 일

답글 남기기

이메일 주소는 공개되지 않습니다.