2016-05-10 2 views
3

у меня есть:Угловое 2 как пузыриться событие из вложенного компонента

<modal 
    #forgotPasswordModal 
    [viewModel]="forgotPasswordModalVm" 
    (cancelled)="onForgotPasswordModalCancelled($event)" 
    (saved)="onForgotPasswordModalSaved($event)"> 
    <forgot-password></forgot-password> 
</modal> 

Когда забыли форма пароля завершена, мне нужно, чтобы закрыть модальное по телефону близко() на компоненте родительского модальной выше. Я могу запустить событие EventEmitter, но как его получить в родительском контейнере? Я не хочу, чтобы в модальном компоненте был зарегистрирован определенный пароль, но также я не хочу использовать универсальную службу событий.

+0

Что плохого, т.е. '(близко) = "onModalClose ($) событие"'? – Abdulrahman

ответ

1
<modal 
    #forgotPasswordModal 
    [viewModel]="forgotPasswordModalVm" 
    (cancelled)="onForgotPasswordModalCancelled($event)" 
    (saved)="onForgotPasswordModalSaved($event)"> 
    <forgot-password (close)="onModalClose()"></forgot-password> 
</modal> 
export class ForgotPasswordComponent { 
    @Output() close:EventEmitter = new EventEmitter(); 

    // execute when the modal should be closed 
    onComplete() { 
    this.close.emit(null); 
    } 
} 
+1

Спасибо, это сработало! Однако он вызвал onModalClose() для родительского компонента модального (не модального), поэтому я просто изменил его на (close) = "forgetPasswordModal.onModalClose()", и это сработало. – Baconbeastnz

+0

Отлично :). , , , –

Смежные вопросы