Sha*_*iro 6 inheritance typescript angular-material2 angular
@Component({
selector: 'app-custom-paginator',
template: '<mat-paginator #paginator pageSize="10"></mat-paginator>',
})
export class CustomPaginator extends MatPaginator {
@ViewChild(MatPaginator) paginator: MatPaginator;
customMethod(): number {
return 1
}
}
Run Code Online (Sandbox Code Playgroud)
主要成分:
@Component({
selector: 'app-main-component',
template: '<app-custom-paginator></app-custom-paginator>',
})
export class MainComponent implements OnInit, AfterViewInit {
@ViewChild(CustomPaginator) paginator: CustomPaginator;
}
Run Code Online (Sandbox Code Playgroud)
我想找出一种方法来扩展MatPaginator.我被困住了,因为在我的子组件中CustomPaginator,我不得不使用它@ViewChild来访问MatPaginator从其视图创建的自定义分页器创建的.
我真正想要的是以某种方式创建一个CustomPaginator来自我MainComponent而不CustomPaginator需要创建和访问MatPaginator它自己的视图子,因为CustomPaginatorIS a MatPaginator.
您可以在子组件中使用 MatPaginator 组件的模板
@Component({
selector: 'app-custom-paginator',
template: (<any>MatPaginator).__annotations__[0]['template'],
})
export class CustomPaginator extends MatPaginator {
customMethod(): number {
return 1
}
}
Run Code Online (Sandbox Code Playgroud)
我使用从未在材质组件上使用过的自定义基础组件完成了这些任务。你可以试试
| 归档时间: |
|
| 查看次数: |
781 次 |
| 最近记录: |