끌어서 놓기 때문에 페이지에서 요소를 끌어다 놓을 때 : 1) 구성 요소를 생성하십시오. 2) 내가 방금 떨어 뜨린 div.각도 2 및 4 - 생성 된 구성 요소를 동적으로 할당하십시오.
드래그 앤 드롭으로 이미 생성되어, 나는 ViewContainerRef
HTML
<div #parent></div>
TS
@ViewChild('parent', { read: ViewContainerRef }) parent: ViewContainerRef;
let childComponent = this._componentFactoryResolver.resolveComponentFactory(TextComponent);
let anotherChildComponent = this._componentFactoryResolver.resolveComponentFactory(ullist)
this.parent.createComponent(childComponent);
this.parent.createComponent(anotherChildComponent);
를 사용하여 compoenent을 만드는 방법을 알아 냈 무엇 내가 붙어있어 내가 할 수 없다는 것이다. 같음 마찬가지로 구성 요소를 삭제할 때 이전에 삭제 된 하나의 페이지는 동일한 #parent를 공유하므로 업데이트됩니다.
내가 생성 한 구성 요소를 내가 클릭 한 것에 어떻게 할당 할 수 있는지 파악하려고했습니다. . 아마 radom 번호를 생성하고 * ngComponentOutlet에 임의의 번호를 삽입하고 생성 된 번호를 클릭하고 생성 된 구성 요소를 할당 할 때 클릭하면됩니까?
내 앱은 각도 4로 작성되어 있으므로 ngComponentOutlet을 작성하고 4 개의 div가있는 플 런커를 만듭니다. div를 클릭하면 구성 요소를 할당하고 싶습니다. 또는 삽입하십시오. 3 div가있는 방법은 ngFor 루프을 통해 배열에서 생성됩니다.
내가 얻고 싶은 것은 DIV를 클릭하면 해당 특정 (특정 DIV를 클릭하면 ngComponentOutlet을 가짐)을 말할 수 있습니다. ngComponentOutlet 어떤 구성 요소를 주입해야하는지 나타냅니다. https://plnkr.co/edit/JvXBLOVaeaYO5bmMQa6a?p=preview
내가 할 수없는 예를 들어 구성 요소 – Vignesh
를로드 할 수있는 서버에서 항목을 가져 오는 경우 : { 이름 : '슬라이더' componentSlider을 'sliderComponent'는 } – Vignesh
당신은 새로운 배열, 및 루프를 통해를 만들 수 있습니다 서버에서 가져온 항목의 목록입니다. 각 항목에 대해 필요한 속성이있는 새 개체를 만들고이를 새 배열로 밀어 넣습니다. –