Mmmm output…
Getting stuff out of nested components
Components emit event other components can subscribe to.
Data to cross boundaries is included as a param to the Event.
The event can be declared in the Class
import { EventEmitter, Output, Component /*..plus others..*/ } from '@angular/core'; // ... @Component({ // Note: The `events` is depreciated in rc-1 so *don't use it*. See https://angular.io/docs/ts/latest/api/core/index/ComponentMetadata-class.html // events: ['selection'] }) export class NestedComponent{ // ... @Output() onSelection: EventEmitter = new EventEmitter(); // ... methodThatWillFireTheEvent(event) { console.log(event); this.onSelection.next({'selectionId': 1}); } }
Then call a different function on the container
<nested-component (onSelection)="parentMethod($event)"></nested-component>