2017-02-07 6 views
4

В моем угловом 2 ngrx приложения У меня есть структура с вложенными элементами:Угловое 2 прохождение событие второго уровня дочернего компонента

parentContainer.ts 
@Component({ 
    template: `<parent-component 
    (onEvent)="onEvent($event)" 
    ></parent-component>`, 
}) 

class ParentContainer { 
    constructor(private store: Store<IState>) { } 

    private onEvent = (payload: IEventPayload) { 
    this.store.dispatch(new EventAction(payload)); 
    } 
} 

parentComponent.ts 
@Component({ 
    selector: 'parent-component', 
    templateUrl: 'patent.html', 
}) 

class ParentComponent { 
    @Output() private onEvent = new EventEmitter<IEventPayload>(); 
} 

patent.html 
<div> 
    ...some content 

    <child-component></child-component> 
</div> 

В этом случае я могу испускать событие от родительского компонента, на мне нужно сделать это с ребенком компонент. Есть ли способ передать событие через родительский компонент в дочерний компонент, а затем использовать что-то вроде этого: this.onEvent.emit({... some payload})?

ответ

5

В вашем patent.html вы можете позволить ребенку-компонент испускают непосредственно через OnEvent так:

<child-component (onChildEvent)="onEvent.emit($event)"> 
</child-component> 
Смежные вопросы