2017-11-03 126 views
2

我新的角度,这里是我的问题:经过事件

我有一个孩子组成,其中我处理一个网格的单元格单击事件,并在回调我有一个EventEmitter并声明为@Output() cellClicked :any;。 我实例化所述EventEmitter回调函数内部,如在下面的例子中的代码:

 onCellClicked($event){ 
      this.cellClicked = new EventEmitter(); 
      this.cellClicked.emit($event); 
     } 

在父组件模板我已经把该网格

<data-grid 
     [gridData]="restrictionsAll.restrictions" 
     [columnDefinitionsPath]="restrictionsAll.agGridConfigPath" 
     (getApi)="getGridApi($event)" 
     > 
    </data-grid> 

并在component.ts父我正在尝试捕获发射的事件 。

cellClicked($event) 
     { 
      console.log('onCellClicked: ' + $event.rowIndex + ' ' + $event.colDef.field); 
     } 

当我调试代码控制,达到在子组件的破发点,但它不是传递给父组件在cellClicked方法。感谢您的帮助。

回答

0

因为你没有实现的情况下随时随地

在容器中父组件

<data-grid 
    (cellClicked)="cellClickedInParent($event)" 
    [gridData]="restrictionsAll.restrictions" 
    [columnDefinitionsPath]="restrictionsAll.agGridConfigPath" 
    (getApi)="getGridApi($event)" 
    > 
</data-grid> 

在父组件处理该事件

cellClickedInParent(event){ 
    console.log(event) //////// this works 
}