Thank you for your time and any help.
I have a situation which looks like this:
Form (
-> Form Field A: extends Abstract Form Field
-> Form Field B: extends Abstract Form Field
...
)
Just conceptually ^
I have a data set passed into each field and bound to a value in their abstract ancestors with ngModel.
Those values which are passed in via @Input() are visible and tracked with all updates in the containing "Form" scope
The problem is, I need to fire some kind of onChange event (similar to angular-1's ng-change) and this behavior needs to be inherited abstractly (from the common ancestor field) so the use of ngModelChange is not available at the template level (which is overridden by the descendants in each case).
So tl;dr:
I want a way to pass through "this value changed" events EVEN IF those changes are to sub-properties of Objects or Arrays (or other pointer-level changes).
And I want to do this with an integrated method in ng2 (similar to how we'd handle it with a shared value in ng1.
I don't want complex eventing like the other answer to this question: Angular 2 child component events broadcast to parent
It makes no sense to do this with manual eventing because the value is changing in the containing context just as much as the child scope.
Bottomline: How can I get the parent scope to notice when its own values change within one of its child modules?