how para eliminar una vista específica del viewcontainer angular
En el siguiente ejemplo,https: //stackblitz.com/edit/angular-1acvo
He creado múltiples vistas usando unaTemplateRef
y los adjunto a la mismaViewContainer
. Pero no puedo entender cómo eliminar una @ específiView
desde elViewContainer
.
Sé que hay métodos enViewContainerRef
me gustaremove
, detach
yindexOf
pero no puedo encontrar una manera de usarlos.
Mi plantilla es
<ng-template #thumbnailTemplate let-description="description">
<div>
<a href="#" (click)="deleteView()">Delete {{description}}} (</a>
</div>
</ng-template>
El HTML es
<button #showTmplButton (click)="showTemplate()">{{buttonTitle}} </button>
<ng-container #vc></ng-container>
Al hacer clic enbutton
, se agrega una nueva instancia de la plantilla ang-container
. Quiero eso al hacer clic ena
, esa vista específica se elimina. Pero, ¿cómo sé en qué índice deViewContainer
la vista se almacena y cómo pasarla a ladeleteView
función?
La lógica para agregar una vista es
showTemplate(){
let view:ViewRef = this.vc.createEmbeddedView(this.tmpl, {description: 'description '+(this.id++)})
}
Pero no sé cómo eliminar una vista específica
deleteView(){
/*what to do here.
this.vc.remove(...);
*/
}