I understand that the change detection will fire for OnPush marked component if the input property changes (there are others way too).
But I don't have an input property in my child component and I have a service injected into my component. I have subscribed the observable exposed by the service inside this child component. Now inside the subscribe callback method I change one of my child component's private property's value. The template of the component is bonded to this property.
So the problem is when the observer publishes an event my subscriber callback is called, and it changes the property value but the view doesn't reflect the changes. The UI only updates when I click somewhere in my page.
changeDetection: ChangeDetectionStrategy.OnPush
Update 1: Plunker added