引发事件时,如何从DOM中删除(不隐藏)Angular子元素?

塞巴斯蒂安·斯鲁兹基(Sebastian Slutzky)

我正在通过*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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从DOM中删除元素时如何删除/隐藏引导工具提示

隐藏子元素时如何删除div元素

在更改事件中隐藏元素时如何停止触发事件

使用单击事件时,如何以编程方式从 DOM 中删除呈现的 v-for 元素?

jQuery-从DOM中删除元素时触发事件

如何收听在子元素的影子dom中触发的事件?

元素被删除时的DOM事件

如何激活 dom 元素中的点击事件(Angular 2)

当元素从 DOM 中删除时,Angularjs 会删除事件侦听器

如何删除子元素点击事件?

在 Jquery 中如何从 HTML DOM 元素中删除/隐藏特定文本

如何删除Angular js中的所有子元素

Angular:如何根据模型中过滤元素的数量隐藏DOM元素?

当我在D3中触发的事件中删除相应的元素时,如何删除元素的事件侦听器?

如何在onBlur事件中删除DIV元素的所有子元素?

隐藏或删除所有子元素时防止 div 折叠

如何在单击子元素时隐藏父元素

如何从Jquery中的DOM中删除元素

当Angular不返回任何数据时隐藏和显示元素

在递归迭代时从列表中删除元素会引发异常

使用 OpenLayers 启动事件时如何清理/隐藏/删除图层

从dom中删除任何元素后,Touchmove事件停止触发

单击事件时删除表单中的隐藏值

如何重新呈现已在React组件中删除的子DOM元素?

如何从角度9的Dom中删除元素

当元素在Angular / Typescript中的DOM中折叠时,如何获取元素的高度

在 DOM 中隐藏元素时使 div 保持其大小

子项为空时在DOM中隐藏父元素

检测给定元素已从DOM中删除而不牺牲性能