【发布时间】:2017-08-22 14:15:02
【问题描述】:
我正在通过*ngFor 指令创建子元素列表(不使用 ComponentFactory)
像这样的:
<ul class="nav navbar-nav">
<top-menu #topmenu *ngFor="let menu of menus" (onDeleteMe)="handleDeleteMenu($event)">
</top-menu>
</ul>
现在我希望 handleDeleteMenu 从 DOM 中删除该组件。这可能吗?还是我应该更改模板以使用组件工厂创建组件?
【问题讨论】:
-
您的意思是从 DOM 中删除,还是从 ngFor 中使用的数组中完全删除该项目?不同之处在于仅从 DOM 中删除将允许您稍后添加它,从数组中删除将永远删除它。
-
感谢@Z.Bagley 指出这一点。我想保留重新添加它的能力,所以是的,只是来自 DOM
-
当然。我的答案中的方法遵循此方法。请注意,当您在 html 中引用元素时,您不会使用
this处理程序。
标签: angular