title: Can't bind input when using abstract classes (2+ level of hierarchy)
body: <p>In my Angular app:</p>
  
  <ul>
  <li><p>When a Component uses an Input that is defined in its direct parent (abstract) class, everything works fine.</p></li>
  <li><p>When a Component uses an Input that is defined in a 2-levels up parent (abstract) class, the <code>ng build</code> or <code>ng serve</code> give an error.</p></li>
  </ul>
  
  <p>For example, I have 4 classes:</p>
  
  <pre><code>export abstract class AbstractAComponent {
    @Input() myInput: string;
  }
  </code></pre>
  
  <pre><code>export abstract class AbstractBComponent extends AbstractAComponent {}
  </code></pre>
  
  <pre><code>@Component({
    selector: 'app-one',
    templateUrl: './one.component.html',
    styleUrls: ['./one.component.scss']
  })
  export class OneComponent extends AbstractAComponent {}
  </code></pre>
  
  <pre><code>@Component({
    selector: 'app-two',
    templateUrl: './two.component.html',
    styleUrls: ['./two.component.scss']
  })
  export class TwoComponent extends AbstractBComponent {}
  </code></pre>
  
  <p>This is how I use them:</p>
  
  <pre><code>&lt;app-one [myInput]="'value 1'"&gt;&lt;/app-one&gt;
  &lt;app-two [myInput]="'value 2'"&gt;&lt;/app-two&gt;
  </code></pre>
  
  <p>In a nutshell:
  - <code>@Input() myInput</code> is defined in <code>AbstractAComponent</code>
  - <code>OneComponent</code> directly extends <code>AbstractAComponent</code>
  - <code>TwoComponent</code> extends <code>AbstractBComponent</code> which extends  <code>AbstractAComponent</code></p>
  
  <p>Expected behaviour:
  - both <code>OneComponent</code> and <code>TwoComponent</code> should have <code>@Input() myInput</code></p>
  
  <p>Current behaviour:
  - looks like <code>TwoComponent</code> doesn't correctly inherit  <code>@Input() myInput</code></p>
  
  <p>and I got the following error:</p>
  
  <pre><code>ERROR in src/app/app.component.html:2:10 - error NG8002: Can't bind to 'myInput' since it isn't a known property of 'app-two'.
  1. If 'app-two' is an Angular component and it has 'myInput' input, then verify that it is part of this module.
  2. If 'app-two' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.
  3. To allow any property add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component.
  </code></pre>