Hello, I'm trying to implement a custom button component with Angular 
2(rc-6) which has 2 important features:
- prevent a second click(the user clicks the button twice)
- show a spinning icon until the associated action is complete

So, after reading some of the Angular 2 docs I saw that I can use 
the EventEmitter like this:

-- usage of the button component
<my-button (btnClick)="func()"></my-button>

and in my button component have the following

--button component 
  btnClick: EventEmitter<any> = new EventEmitter<any>();

  clickHandler($event) {

--button component template
<a (click)="clickHandler($event)">

Everything looks good, but the emit method only fires an event and does not 
know whether func has finished its execution.

Is there a way to call a function on a parent component from a child 
component and get the result from that invocation?
Something like:
  btnClick: EventEmitter<any> = new EventEmitter<any>();

  clickHandler($event) {
    let result = this.btnClick.emit($event);
    //check if the result is an observable and wait for it to be resolved

I know I can pass a function to the emit method, and then in the parent 
component to call that function whenever I decide in  func, so I can know 
when the execution has stopped and stop spinning and allow a second click.
But I don't want that decision to be taken by the parent component.

Thank you very much!

You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to angular+unsubscr...@googlegroups.com.
To post to this group, send email to angular@googlegroups.com.
Visit this group at https://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to