我正在使用Angular 2中的一个小数据网格,我对组件之间的父/子关系有疑问。我有两个组件:app-datagrid
和app-add-item
。 datagrid组件在他的HTML中包含app-add-item
组件,该组件由按钮和模态组成。单击时,该按钮将显示带有表单的模式以创建新项目。
所有逻辑都是孤立且好的:app-add-item
组件创建并处理表单,将表单数据发送到服务并创建新项。但是,如何在子组件添加新项目后更新数据网格?
app-datagrid
组件是否应该侦听某个事件?它应该作为依赖传递给孩子吗?这样做的正确方法是什么?
答案 0 :(得分:1)
我认为您可以让app-add-item
组件发出@Output
事件来指示已添加项目。然后将app-datagrid
绑定到该事件 - 类似这样:
<app-data-grid #dataGrid>
..
<app-add-item (itemAdded)="dataGrid.addNewItem($event)"></app-add-item>
..
</app-data-grid>