Me gustaría crear un componente común para el botón que ejecuta el método y luego maneja el resultado DENTRO del componente secundario. Según entiendo, @Output es un enlace unidireccional, por lo que no puedo procesar el resultado de la función pasada, por lo que necesito usar @Input .
Esto es lo que me gustaría lograr:
<my-button (action) = "exampleAction" [showConfirmation]="true">Reload</my-button>Pero con @Input necesito pasar funciones a mi componente usando .bind(this) y esta no es una forma elegante. Se parece a eso:
<my-button (action) = "exampleAction.bind(this)" [showConfirmation]="true">Reload</my-button>¿Hay alguna forma (tal vez usando observables) para crear un componente de botón simple y agradable que tome un método, se bloquee a sí mismo, procese el método y maneje su resultado?
Saludos
puede combinar la salida y la entrada para obtener un enlace bidireccional. echa un vistazo a este stackblitz
<hello (action)="increment()" [resultAvailable]="resultAvailable"></hello>