Angular Material Paginator 未定义

Angular Material Paginator is undefined

我使用 Angular 材质(MatTable、MatPaginator)。 当我登录我的应用程序并加载我的组件视图时,我在浏览器调试器中收到以下错误:

    ERROR TypeError: "_this._paginator is undefined; can't access its "pageIndex" property"

    ExampleDataSource http://localhost:4200/main.js:1446
    __tryOrUnsub http://localhost:4200/vendor.js:160732
    next http://localhost:4200/vendor.js:160670
    _next http://localhost:4200/vendor.js:160603
    next http://localhost:4200/vendor.js:160578
    _subscribe http://localhost:4200/vendor.js:159751
    _trySubscribe http://localhost:4200/vendor.js:159963
    _trySubscribe http://localhost:4200/vendor.js:160384

我的目标是摆脱这个错误。

由于可能导致此错误的代码太多,请在我的 Github 查看我的组件:https://github.com/chrs-k/Behaeltermanagement/tree/master/Behaeltermanagement/client/src/app/table

问题一定在table.component.ts

非常感谢您!

分页器标有@ViewChild,因此在调用ngAfterViewInit() 之前不会加载。但是,你在 loadData() 里面放了一个构造新的 ExampleDataSource 的实例,在 ngOnInit 中调用。 但是根据Angular lifestyle hook 方法的顺序,ngOnInit() 将在ngAfterViewInit() 之前被调用。 您在ngAfterViewInit() 之前至少已经调用了两次!所以将 this.loadData() 放入 ngAfterViewInit 中,在顶部你应该有

dataSource: ExampleDataSource;

删除依赖于 this.paginator 的所有内容,改为在 ngAfterViewInit 中。