Я пытаюсь реализовать что-то вроде шаблона делегирования в Angular. Когда пользователь нажимает на элемент nav-item
, я хотел бы вызвать функцию, которая затем генерирует событие, которое, в свою очередь, должно обрабатываться другим компонентом, прослушивающим событие.
Вот сценарий: у меня есть компонент Navigation
:
import {Component, Output, EventEmitter} from 'angular2/core';
@Component({
// other properties left out for brevity
events : ['navchange'],
template:'
<div class="nav-item" (click)="selectedNavItem(1)"></div>
'
})
export class Navigation {
@Output() navchange: EventEmitter<number> = new EventEmitter();
selectedNavItem(item: number) {
console.log('selected nav item ' + item);
this.navchange.emit(item)
}
}
Вот компонент наблюдения:
export class ObservingComponent {
// How do I observe the event ?
// <----------Observe/Register Event ?-------->
public selectedNavItem(item: number) {
console.log('item index changed!');
}
}
Ключевой вопрос заключается в том, как заставить компонент наблюдения наблюдать за рассматриваемым событием?