Event emitter's parameter is undefined for listener : <p>In Angular2 component I use EventEmitter to emit an event with parameter. In the parent component listener this parameter is undefined. Here is a <a href="http://plnkr.co/edit/Vk1rKNsKGiqVaHHBRKMk?p=preview" rel="noreferrer">plunker</a>:</p>

<pre><code>import {Component, EventEmitter, Output} from 'angular2/core'
@Component({
  template: `&lt;ul&gt;
  &lt;li *ngFor="#product of products" (click)="onClick(product)"&gt;{{product.name}}&lt;/li&gt;
  &lt;/ul&gt;`,
  selector: 'product-picker',
  outputs: ['pick']
})
export class ProductPicker {
  products: Array&lt;any&gt;;
  pick: EventEmitter&lt;any&gt;;
  constructor() {
    this.products = [
      {id: 1, name: 'first product'},
      {id: 2, name: 'second product'},
      {id: 3, name: 'third product'},
      ];
    this.pick = new EventEmitter();
  }
  onClick(product) {
    this.pick.emit(product);
  }
}
@Component({
  selector: 'my-app',
  providers: [],
  template: `
    &lt;div&gt;
      &lt;h2&gt;Pick a product&lt;/h2&gt;
      &lt;product-picker (pick)="onPick(item)"&gt;&lt;/product-picker&gt;
    &lt;/div&gt;
    &lt;div&gt;You picked: {{name}}&lt;/div&gt;
  `,
  directives: [ProductPicker]
})
export class App {
  name: string = 'nothing';
  onPick(item) {
    if (typeof item == 'undefined') {
      console.log("item is undefined!");
    } else {
      this.name = item.name;
    }
  }
}
</code></pre>

<p>How to pass the picked product to parent component?</p>
