title: How to use @Component decorator in both abstract class and in the implementation of abstract class in Angular 8?
body: <p>I use Angular 8 &amp; try to use abstract components. I want to define the templateUrl &amp; the styleUrls in my abstract class, but the selector name in the implemented class. Like this:</p>
  
  <pre class="lang-js prettyprint-override"><code>@Component({
    // selector isn't defined here
    templateUrl: './abstract-list.component.html',
    styleUrls: ['./abstract-list.component.scss']
  })
  export abstract class AbstractListComponent&lt;T&gt; implements OnInit {
    // ...
  }
  </code></pre>
  
  <p>And in the child class</p>
  
  <pre class="lang-js prettyprint-override"><code>@Component({
    selector: 'app-my-custom-list',
    // templateUrl &amp; styleUrls is should be inherited
  })
  export class MyCustomListComponent extends AbstractListComponent&lt;MyCustomListInterface&gt; implements OnInit {
    // ...
  }
  </code></pre>
  
  <p>I tried to use the decorator only in implementation like this, but I feel here need to be a better way:</p>
  
  <pre class="lang-js prettyprint-override"><code>@Component({
    selector: 'app-my-custom-list',
    templateUrl: '../../abstract-list/abstract-list.component.html',
    styleUrls: ['../../abstract-list/abstract-list.component.scss']
  })
  </code></pre>
  
  <p>Is it possible to use <code>@Component</code> decorator something like this? Or is there any trick or best practice to something like this usage?</p>