3

基本コンポーネントと基本ディレクティブがあります:

@Component({
    selector: 'datatable',
    template: `<ng-content><ng-content>`
})
export class DatatableComponent {
    QueryList<DatatableColumn> columns;
}

@Directive({ selector: 'datatable-column' })
export class DatatableColumn { }

そして今、同じ機能を持つ拡張 DatatableComponent を作成したい

@Component({
    selector: 'df-datatable',
    template: `<ng-content><ng-content>`
})
export class DFDatatableComponent extends DatatableComponent {
    QueryList<DFDatatableColumn> columns;
}
 @Directive({ selector: 'df-datatable-column' })
    export class DFDatatableColumn extends DatatableColumn  { }

私の質問は、なぜこれが機能しないのですか?

<df-datatable>
    <df-datatable-column>
    </df-datatable-column>
</df-datatable>

しかし、これは機能します。基本クラスから QueryList をオーバーライドする方法は?

<df-datatable>
    <datatable-column>
    </datatable-column>
</df-datatable>
4

0 に答える 0