Angular2子组件正在删除
Angular2 child component deleting
我有一个角度应用程序,遇到了一个问题。我有一个(父)组件,它有一个项数组,每个项都有一个子(子)组件。每个子组件都有一个按钮(和功能)来删除自己,但父组件不会收到发生此事件的通知。
我不确定删除子组件的正确方式是什么,以至于父组件将其从视图中删除。我目前只是调用delete this.product
(product是父数组中的一个项),它确实将其从父数组中删除,但父数组不会更新。
您可以在子组件中以这种方式实现:
@Component({
selector: 'child',
template: `
<div>
{{element.name}}
<span (click)="deleteElement()">Delete</span>
</div>
`
})
export class ChildComponent {
@Input()
element: any;
@Output()
elementDeleted: EventEmitter<any> = new EventEmitter();
deleteElement() {
this.elementDeleted.emit();
}
}
并在母公司中利用这一事件:
@Component({
selector: 'child',
template: `
<div>
<child *ngFor="#element of elements" [element]="element"
(elementDeleted)="onElementDeleted(element)">
</child>
</div>
`
})
export class ParentComponent {
constructor() {
this.elements = [
{ name: 'element1' },
{ name: 'element2' },
(...)
];
}
onElementDeleted(element) {
var index = this.elements.findIndex((elt) => (elt===element));
if (index != -1) {
this.elements.splice(index, 1);
}
}
相关文章:
- 从组件状态的数组中删除元素
- 反应.js:将回调传递给子组件并删除组件
- 如何在IE中完全删除flash组件
- Angular2子组件正在删除
- 组件如何从 DOM 中移除/删除自身
- 使用视觉力组件从阵列中删除重复项
- Angular2 - 删除所有/最近的子组件后无法添加子组件
- 如何删除特定的子 React 组件
- 如何在 foreach 循环中使用 JavaScript 变量之前从 JavaScript 变量中删除或排除组件
- 反应如何在组件中正确删除列表器将卸载,为什么我需要在构造函数中绑定
- 如何通过让用户添加和删除小组件来创建可自定义的仪表板
- 从react中的父dom节点中删除子组件
- 如何使用React JS删除UI组件
- 角度组件路由器从URL中删除#
- Joomla!组件表单和jQuery来动态添加/删除字段的子集
- 我似乎无法使用组件将卸载可靠地删除侦听器
- 从删除的li组件中删除一个输入框
- React是否自动修剪已从DOM中删除其挂载点的组件
- 使用JSF可以删除组件HTML内容
- Ext-JS删除组件陷阱