As the first step I took toward finding a solution, I had thoroughly read Angular2 why use @Output over @Input for callbacks. The title seems to ask the same question, though, the question within is rather shallow in acceptance criteria and my question is looking for more detail. Please see below for such detail.
There are [at least] 3 ways to accomplish Child-to-Parent Communication in Angular++ (not 1.x), but to better implement the 3rd option I am concerned with only 2 of these for the question:
UsingEventEmitter
as an @Output
@Output() onEvent: EventEmitter<any> = EventEmitter<any>();
Using a Callback as an @Input
@Input() handleEvent: Function = new Function();
- Are @Outputs automatically optional parameters/properties?
- Do @Outputs signal anything helpful to Angular under the hood?
- Are there Garbage Collection concerns for either?