我正在通过*ngFor
指令(而不是通过ComponentFactory)创建子元素列表,如下所示:
<ul class="nav navbar-nav">
<top-menu #topmenu *ngFor="let menu of menus" (onDeleteMe)="handleDeleteMenu($event)">
</top-menu>
</ul>
现在,我想handleDeleteMenu
从DOM中删除该组件。这可能吗?还是应该更改模板以使用组件工厂创建组件?
您可以将ngFor迭代的索引传递给onDeleteMe方法
<top-menu #topmenu *ngFor="let menu of menus; let i = index" (onDeleteMe)="handleDeleteMenu($event, i)">
然后在您的方法中拼接迭代
handleDeleteMenu(event, index){
this.menus.splice(index, 1);
}
这将从数组中删除该特定的迭代,然后重新渲染ngFor。这是一个演示plunkr https://plnkr.co/edit/qphEdumLB7Eenb3FPtL5?p=preview
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句