You can read about component interaction types here.
You need something like this:
1. Children -> parent
In both of the components, have an need an emitter.
MainController:
<app-poll (changed)=this.update($event)></app-poll>
<app-survey (changed)=this.update($event)></app-survey>
In the components, have an event emitter defined:
@Output() changeEmitter = new EventEmitter<any>();
when you want to trigger the reset, write something like this:
changedEmitter.emit(<<you can insert objects here>>);
This will trigger the call in their parent's this.update().
in that method, you can define other logic to trigger a reset, but from parent-child, the easiest way is to bind a data object, which you can change:
2. Parent-> children
<app-survey (changed)=this.update(newValue) [data]="surveyData"></app-survey>
in the main comp ts:
private surveyData: any;
update(newValue: any){
surveyData = <<something>>
}
in the survey comp:
@Input() private data: any;