title: Complete Output() eventemitter in ngOnDestroy callback
body: <p>Is it a good practice to call the complete() method for each Output() EventEmitter in my angular component's ngOnDestroy callback? 
  That way any subscription made to those outputs would end straight when the component is destroyed. And in most cases, I would not have to worry about unsubscribing anymore in parent components. What do you think?</p>
  
  <p><strong>Example</strong></p>
  
  <p>I have a parent component that subscribes to an output event of a child component.
  I usally do:</p>
  
  <pre><code>childCompoment.event.pipe(
      takeUntil(this.parentComponentDestroyed$), // end subscription when parent is destroyed
    ).subscribe((eventData: any) =&gt; {
      // do stuff
    });
  }
  </code></pre>
  
  <p>Now if the child component gets destroyed, that does not end my parent subscription automatically. I have to wait until the parent component is destroyed itself.
  If i call event.complete() in the child components' OnDestroy callback then my subscription will end as soon the child component is destroyed.
  What is the best approach in that case?</p>